web入門
すばらしきwebの世界

Laravel 5.3 phpunitを使用して実際にテストを実行してみた

2017.09.18Laravel

phpunitを使用したテストケースの簡単なサンプルを作成してみました。


ゴール


今回テストのゴールは、テスト対象のプログラムの分岐が全て通るを確認することです。


プログラムの動きと構成の説明


以下のフォームとクラスを用意します。

① “/sample” にPOSTリクエストするフォーム(test.blade.php)。
② “/sample” がリクエストされたら、TestController の indexメソッド を実行する。
③ TestController の indexメソッド の内容は要素の名前に “name” が存在したら、”OK” を通り、存在しない場合は “NG” を通る。


フォームの説明


下記内容のフォーム(test.blade.php)を用意します。

① name属性が “name” のテキストを用意する。
② pushボタンを押下すると “/sample” へPOSTを送信する。


ルーティングの内容


ルーティングの内容も以下の通りにします。

① “/test” にリクエストするとフォーム(test.blade.php)を表示する。
② “/sample” にリクエストすると TestController の indexメソッド を実行する。


コントローラの説明


下記内容のコントローラ(TestController)を用意します。

① 要素の名前が “name” であるかを判定し、存在する場合は “OK” を通り、存在しなかったら、”NG” を通る。


テストプログラム


テストプログラムを以下に示します。

testsフォルダ以下にSample01Test.phpを配置します。


プログラムの実行


以下をコマンドプロンプトより実行します。

以下のような結果が表示されたらOKです