场合
我正在使用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问题的任何暗示/绕过它的方法?非常感谢您的帮助
答案 0 :(得分:0)
我能够解决我的问题。它来自安装phpunit.phar作为可执行文件。它由内置的php自动执行,而不是php wamp。
将phar保持原样,将其放在项目的根目录中,然后执行(在命令控制台中):
phpwamp phpunit.phpar --version
效果很好。
干杯,