我的/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';
我在这里错过了一些步骤吗?
答案 0 :(得分:0)
这有点棘手。问题是您使用的是require_once
。这意味着只有在第一次测试时才需要这些消息,但是没有后续的测试。
要解决您的问题,只需将其更改为require
。