テストでよく使うターミナルのコマンド | Laravel phpunit

Laravel

テスト用のファイルを作る

php artisan make:test Models/UserTest

php artisan make:test ○○○ とするとtests/Feature配下にファイルが作成されます。

↑のコマンドだと、 Models ディレクトリの作成(無い場合)・UserTest.phpファイルの作成も同時に行ってくれます。

テスト実行

テストを全て実行

vendor/bin/phpunit

テストが全て実行されます。

テスト名で指定して実行

vendor/bin/phpunit --filter テスト名

フィルタして実行してくれます。

vendor/bin/phpunit --filter testTest

と打った場合だと、testTest でフィルタされるので、もし testTestTest という名前のテストがあった場合も同時に実行されます。

モデル名で指定して実行

vendor/bin/phpunit --filter モデル名

テストの詳細も表示

vendor/bin/phpunit --filter テスト名 --testdox

のように、最後に –testdox をつけると少し詳しく表示してくれます。

こんな風に。ちょっと親切。

カバレッジ出力

メソッドの何%をカバーできているか?を計算してくれるカバレッジ。

./vendor/bin/phpunit --coverage-html ./coverage

というコマンドで、テストを流したあとカバレッジを出力してくれます。
※最後の ./coverage は出力先のディレクトリ を指定しているだけなので任意で変更してください。

オプションは色々あって、html出力以外も選べるようです。

上記コマンドだけで /covers ディレクトリにhtmlやcssのファイルがたくさん出力されます。

最初、全然出力されなくて困ったのですが、ただ単にテストメソッドの1つで dd していたことでテストが止まっていたからでした。。。

タイトルとURLをコピーしました