1

Laravel プロジェクトを単体テストする場合、マクロは登録されず、アプリケーション イベントは発生しません。たとえば、次のファイルが から必要ですapp/start/globals.php

// app/helpers/nav.php

var_dump("nav.php loaded");

App::before(function($request) {
    var_dump("app::before called");

    HTML::macro('nav_link', function(..) { .. });
});

HTML::macro('nav_link', function(..) { .. });

最初の var_dump のみが出力されます。App::beforeイベントは呼ばれていないようです。さらに、イベント外でもHTML::macro呼び出しは登録されません (BadMethodCallException使用しようとすると a がスローされます)。これらは通常の使用では問題なく動作します。

テスト ケースはかなり単純です。

<?php

class ExampleTest extends TestCase {

    public function testBasicExample() {
        $crawler = $this->client->request('GET', '/');
        $this->assertTrue($this->client->getResponse()->isOk());
    }
}
4

1 に答える 1