LoginSignup
0
1

More than 1 year has passed since last update.

Laravel Blade のパーツ単体テストをする

Posted at

これは何

Laravel の Blade テンプレートのパーツのみを単体テストする方法。
ページ全体のテストより依存関係の少ないパーツのみをテストしたい。

バージョン情報

php 7.4
laravel/framework 8.40.0

テスト例

Laravel の Testing の TestCase に view()メソッドが生えていました。これは実装をみると TestView クラスを作って返してくれるようです。TestViewクラスは assertSee() メソッドなど文字列チェックのメソッドが生えています。


use Illuminate\Foundation\Testing\TestCase

class ClosedPlanIndexTest extends TestCase
{
    public function testIndex(
    ) {
        $this->view('service.parts.hogehoge', [
            'exampleDependencyFlag' => true,
        ])->assertSee(<div>テスト文字列</div>, false);
    }

上記の通りHTMLタグも含めた文字列をチェック可能ですが、その場合にはassertSee()の第2引数の escape 設定を false にする必要があります。これをしないとテスト対象の文字列は <div> などの形式なのに &lt;div&gt;と比較してしまうことになり、意図しないテスト結果になってしまいます。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1