浜松のWEBシステム開発・スマートフォンアプリ開発・RTK-GNSS関連の開発はお任せください
株式会社シーポイントラボ
TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:静岡県浜松市中区富塚町1933-1 佐鳴湖パークタウンサウス2F

Laravelの自動ブラウザテスト機能duskで任意のテストケースのみを実行する

 ブラウザテスト(Laravel Dusk) 5.6 Laravel
 Laravelには自動でブラウザテストを行ってくれるduskという機能があります。それなりの手間がかかり、何度も行わなければならないブラウザ上における手作業を代行してくれる機能です。ブラウザテストなしに複雑な機能を変更の都度テストするのはとてもとても辛いです。
 そのように便利なブラウザテスト機能を行うduskですが、様々な機能を実装するにつれテストが肥大化し総実行時間も長くなります。私的な環境ですが軽い検索機能付きページのテストは1ページ2分ほどで終わります。これに機能の大小、ページ数が加わり総実行時間は10分、20分となります。とてもやっていられないため結果が欲しい一部のテストのみを実行する必要に駆られます。
 duskはPHPUnitの機能の大部分を引き継ぎブラウザテスト用にラッピングされたテストツールです。そしてPHPUnit同様のコマンドラインオプションが備わっており次の様なフィルターパターンによって、任意のクラス、任意のメソッドのテストを実行できます
 

例 3.2: フィルターパターンの例

  • --filter 'TestNamespace\\TestCaseClass::testMethod'

  • --filter 'TestNamespace\\TestCaseClass'

  • --filter TestNamespace

  • --filter TestCaseClass

  • --filter testMethod

  • --filter '/::testMethod .*"my named data"/'

  • --filter '/::testMethod .*#5$/'

  • --filter '/::testMethod .*#(5|6|7)$/'

 PHPUnit マニュアル – 第3章 コマンドラインのテストランナーから引用
 これにより何分も待たずに変更の度にテストをかけること、あるテストが通る様なコードを書くことが楽になります。

  • この記事いいね! (0)