0

私のsilexアプリを含む/src/app.phpがあり、このアプリには、twigにパスするいくつかの翻訳があります。これは正常に機能します。

$app['twig']->render('index.twig', array('title' => $app['translator']->trans('homepage'))); 

しかし、私の機能テストでは、これにより例外が発生します。

foreach()に無効な引数が指定されました

したがって、$app['translator.messages']はテストに存在しないと思います。

createApplication()メソッドの/tests/functional/ApplicationTest.phpで、var_dump $this->app['translator.messages']を実行して、完全な配列を取得できます。

しかし、実際のテストメソッドでは、var_dumpは次のように出力します。.bool(true)

app.phpにはtranslation.messagesが含まれているので:

 $app['translator.messages'] = require_once  __DIR__ . '/../resources/locales/translations.php';

ここでいくつかのステップを逃しますか?

4

1 に答える 1

0

これは少し注意が必要です。問題は、を使用していることですrequire_once。これは、メッセージが最初のテストでのみ必要になり、後続のテストでは必要ないことを意味します。

問題を解決するには、単にに変更しrequireます。

于 2011-10-26T07:26:04.173 に答える