我有以下用于控制器测试的基础 las:
public function createApplication() {
include __DIR__ . '../web/index_dev.php';
$app['debug'] = true;
$app['session.test'] = true;
$app['helper'] = function ($app) {
return new TestHelper($app);
}; // fails!!
return $app;
}
public function setUp() {
parent::setUp();
$this->client = parent::createClient();
}
在 Silex 1.3 上它工作得很好,但是在升级到 v2 之后它在标记线上失败了。一旦我发表评论 - 一切都很好。
UPD#1:我弄清楚它失败的原因:Cannot override frozen service "helper".
我理解错误的含义,但不明白如何修复它。这是一个测试用例,所以我需要用对象的模拟/测试实现替换它,但不能..