symfony2中的phpunit解析错误

时间:2014-06-12 08:20:10

标签: symfony phpunit php-parse-error

场合

我正在使用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问题的任何暗示/绕过它的方法?非常感谢您的帮助

1 个答案:

答案 0 :(得分:0)

我能够解决我的问题。它来自安装phpunit.phar作为可执行文件。它由内置的php自动执行,而不是php wamp。

将phar保持原样,将其放在项目的根目录中,然后执行(在命令控制台中):

phpwamp phpunit.phpar --version

效果很好。

干杯,