在silex中的功能测试找不到translator.messages

时间:2011-10-25 17:37:51

标签: symfony1 silex

我的/src/app.php包含我的silex应用程序,在这个应用程序中有一些翻译可以传递给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';
我在这里错过了一些步骤吗?

1 个答案:

答案 0 :(得分:0)

这有点棘手。问题是您使用的是require_once。这意味着只有在第一次测试时才需要这些消息,但是没有后续的测试。

要解决您的问题,只需将其更改为require