情况
我正在使用 phpunit (4.1.10) 和 phpunitBundle (4.1.*) 来对我的 symfony2 (2.4.4) 应用程序进行单元测试。我正在使用 phpwamp(wamp 的 php 的别名)版本 5.4.10,安装在计算机上的 php 相当旧(版本 5.3.28)。
测试通常工作正常。
问题
当使用 router->generate(a_route) 时,它返回一个错误。
public function setUp()
{
static::$kernel = static::createKernel();
static::$kernel->boot();
$this->em = static::$kernel->getContainer()->get('doctrine.orm.entity_manager');
$this->container = static::$kernel->getContainer();
}
public function testFoo(){
/*temp*/
$x = $this->container->get('router')->generate('my_route');
}
错误:
F.PHP Parse error: parse error in /path_to_project/project/src/Foo/FooBundle /Controller/FooController.php on line xx
解决方案:
我观察到解析错误发生在 FooController.php 中,而我根本没有测试控制器(它是一个 entityRepo 测试)。但是,php 行提示在解析错误时通常是无用的,所以 ..
同时,这不会形成真正的解析错误,因为在手动测试时,同一代运行得非常好。
关于这个 phpunit 问题/绕过它的方法的任何提示?非常感谢您的帮助