CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。
タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。
弊社で毎月開催し、PHPエンジニアの間でご好評をいただいているPHPエンジニアのための勉強会 『PHP TechCafe』。2021年9月に開催されたイベントでは「PHPUnit の始め方」について語り合いました。 社外の有識者にも参加頂いてアドバイスを受けながらPHPUnitの使い方やテストコードの書き方を学びました。 今回はその内容についてレポートします。 rakus.connpass.com PHPUnitテストコードの書き方 setUpメソッド アサーション データプロバイダ アノテーション モック 結果の確認方法 テスト実行時に値が変わるケースの実装方法 イベント参加者からの質問コーナー おわりに PHPUnitテストコードの書き方 以下のShowNoteをベースに、「PHPUnit導入の目的」 ~ 「入門にあたり押さえておくべきポイント」などに ついてディスカッションしました。
基盤チームに所属している @okinaka です。 個人的には CakePHP とは長い付き合いで、もう14年以上になります。 BASE の事業においても10年間ずっと支えてくれている大変ありがたい Web フレームワークです。 以前から BASE の多くのコードはまだ古い CakePHP 2 (v2.10.24) 上で動作していることが課題になっています。 CakePHP 自身は順調に開発が継続されていますが、2系から3系へのバージョンアップはなかなか困難で二の足を踏んでいました。 そうこうしているうちに古いバージョンの2系は既に公式でのサポートは切れているうえに PHP 8.0 未サポートの状態です。 さすがにそのまま継続して利用するのは無理があるので、数年前から、より柔軟にシステムを構築するためのアーキテクチャ再設計をすすめています。 その成果は上がってきているのですが、単純なフレー
Laravel Advent Calendar 2021 17日目の記事です。 僕自身が書いた経験のある範囲でPHPUnitでテストコードを書くときのTipsやサンプルコードをまとめます。 はじめに いきなりタイトルには直接関係ない小ネタを挟みます。 テスト関連のコマンド テストファイル作成 # tests/Featureに作成される php artisan meke:test SampleTest # tests/Unitに作成される php artisan make:test SampleTest --unit # ディレクトリを指定してファイル作成 # tests/Feature/User配下 php artisan make:test User/SampleTest # tests/Unit/User配下 php artisan make:test User/SampleTest
普段VagrantのVCCWを使ってWordPressのテーマ開発を行っていたが、 公式VCCWはPHP7.0とかなので、環境としてだいぶ古いVirtualBoxは遅い(気がする)手動で環境作るのがめんどくさい という点で微妙だなと思っていた。 そこで、今時っぽくDockerでWordPressの開発環境を作ろうと思い、奮闘した。 完成版のリポジトリを作ったので、環境構築だけしたい人はリポジトリのREADMEの通りにやると良い。↓ https://github.com/yheihei/wp-docker-template WordPressでテスト駆動開発をやるのに必要なもの テストコードを書かないとWordPressはグダグダになるという自論を持っている。 自分自身もテスト駆動開発じゃ無いと、ろくなコードを書けない体になっているのでテストができる環境が必須である。 WordPressのテ
背景 STORYではバックエンドのPull Request作成をトリガーにして、CircleCi上でTestを実行していました。Testの実行時間は11〜13分ほどでした。 常々、このTestの実行時間が長すぎて開発体験の質が落ちているような気がしていました。 Testの実行時間が長すぎると何が問題になるのでしょうか? 以下がSTORYチームがSlack上でしばしば発生していた会話です。 岩下「あ、Aさん!☓☓☓の件について、Pull Requestを作ったのでお手すき時にレビューお願いします!」 A「OKです、手が空いたら見ておきます〜」 〜〜〜1時間後〜〜〜 A「岩下さん、Pull Requestを見ようとしたら、TestがFailしているところがありました、確認してもらえますか?」 岩下「えっ、あっ、はい承知しました!」 この状況の問題点は、私がTestの実行結果を待たずにPull
PHPUnit 10 February 3, 2023 The PHPUnit development team is pleased to announce the immediate availability of PHPUnit 10. This release adds new features, modifies and removes existing functionality, and fixes bugs. PHPUnit 10 was scheduled to be released on February 5, 2021. Due to various reasons, including a pandemic, this was simply not possible. This does not mean that nothing has been achieve
この記事はBASEアドベントカレンダー2024の18日目の記事です。18日目は shota.imazeki さんの記事(INFORMATION_SCHEMAを用いたBigQueryデータ監視 - BASEプロダクトチームブログ)も公開されていますので、ぜひご一緒に読んでみてください。 はじめに こんにちは、はじめまして。BASE の Feature Dev1 Group でバックエンドエンジニアをしている @meihei です。 2024年6月に入社してから半年が経ち、この間に多くの経験を積ませていただきました。 この記事では、私の日常の開発業務、特にローカル環境で PHPUnit を自動的・継続的に実行している方法についてお話しします。 息を吸うように PHPUnit を実行する さて、具体的に何をしているかと言うと、PhpStorm で PHPUnit 実行後の「Rerun Autom
PHP + phpunit + php-webdriver + docker-selenium でブラウザテスト ①環境構築PHPPHPUnitphp-webdriverdocker-selenium 目次 PHP + phpunit + php-webdriver + docker-selenium でブラウザテスト ①環境構築 PHP + phpunit + php-webdriver + docker-selenium でブラウザテスト ②テスト実行、エラー対策 概要 seleniumに自動でブラウザテストをしてもらって楽したい。 どうせならDockerで環境構築したい。 これを実現するために調べてわかったこと、詰まっていることをまとめました。 注意 phpunit/phpunit-seleniumというライブラリでもブラウザテストを実行できるようですが、やり方がわからなかったため深
たくさんのテストケースを抱えるプロダクトでPHPUnitを実行した際、下記のようなエラーが表示されることがある。 エラーメッセージ: $ ./vendor/bin/phpunit ... PHP Fatal error: Allowed memory size of 134217728 bytes exhausted これはPHPのメモリ使用量制限 (memory_limit) を超えてメモリを確保しようとしたためPHPがプログラムの実行を中断したことを示すエラーメッセージ。 対処方法 メモリをたくさん使っているテストケースを見つけていい感じに直すという方法もあるが、元々PHPはメモリどのぐらい使うかとかは些細なこととしてあまり気にしない文化だと思うので (メモリ10GB食うみたいなアホみたいな状態でない限り) メモリ使用量制限を引き上げて凌ぐのが良いと思う。 (1) phpunit.xm
初級者・中級者向けのユニットテストのサンプルは、 どんな言語を対象としたものであっても、 テストしやすいようなロジックに対してシンプルなテストをしているものばかりです。 データベースを扱う一般的なアプリケーションを考えると、これはまったく現実離れしています。 たとえば WordPress や TYPO3、あるいは Symfony で Doctrine や Propel などを使い始めるとすぐに、 PHPUnit でのテストがやりづらいことを実感するはずです。 データベースとこれらのライブラリが密結合になっているからです。 Note PHP の pdo 拡張モジュール、そしてデータベースごとの拡張モジュール (pdo_mysql など) がインストールされていることを確認しておきましょう。 これらがインストールされていないと、以下のサンプルは動きません。 きっと日々の業務やプロジェクトでも身
こんにちは、takaramです。 最近業務でPHPUnitを使ったテストを書く機会が増えてきました。初めはassertEqualsしか知らなかったわけですが、最近は適切なアサーションメソッドを選択できるようになってきました。そこで今回は数あるPHPUnitのアサーションメソッドの中から、一般的によく使いそうなものを独断と偏見で選んでご紹介します! なお、以下の内容は執筆時点の最新版のPHPUnit (v9.2.6) に基づいています。 PHPUnitのアサーションメソッド assertEquals assertSame assertTrue, assertFalse, assertNull assertCount assertStringStartsWith, assertStringEndsWith, assertStringContainsString assertRegExp ass
PHPUnitとは PHPUnitとはPHPのユニットテスト用のPHPライブラリであり、 PHPのクラス単位でテストを行う。 PHP Unitはどんなソースコードでもテストできるわけではない。 ある程度テストしやすい設計が求められている。 なるべくクラスは他のクラスと疎結合であるとテストしやすくなる。 PHP Unitを利用するからといって、テスト作業がすべて自動化されるわけではない。 PHP Unitも「テストの原則」則っている。 そのため、テストコードを書かねばならず、時間もかかる。 PHPUnitと手動テストは互いに得意、不得意があるので、 PHPUnitだけに頼るのでなく、場所によっては手動テストを行い、使い分けるのが良い。 PHP Unitのテストコードは複雑にならないようにしなければならない。 何をしているかすぐに分からないテストコードは、開発コストを高くする。 メリット 数値
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く