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());
}
}