phpunit无法找到学说注释

时间:2016-12-09 13:13:09

标签: doctrine-orm phpunit symfony

我正在一个sylius项目工作,我有一些功能测试工作。事情发生sylius已经切换到symfony 3.2并且我的很多测试在此之后不再工作了。

每当我尝试运行测试时,我都会遇到错误,如

Doctrine\Common\Annotations\AnnotationException: [Semantical Error] The annotation "@Doctrine\ORM\Mapping\Entity" in class ...\Entity\Block does not exist, or could not be auto-loaded.

我的phpunit.xml看起来像

<?xml version="1.0" encoding="UTF-8"?>
<phpunit colors="true"
     bootstrap="var/bootstrap.php.cache">
<php>
    <server name="KERNEL_DIR" value="./app" />
</php>
<testsuites>
    <testsuite name="Application Test Suite">
        <directory>./src/AppBundle/Tests/</directory>
    </testsuite>
</testsuites>

最后,我的测试有这种设置

abstract class BaseTestCase extends KernelTestCase {
...
protected function setUp()
{
    static::bootKernel();
}
}

关于我的设置可能出错的任何想法?

1 个答案:

答案 0 :(得分:1)

找到了修复程序。我决定看看sf标准回购中的phpunit.xml并更改了我的&#34; boostrap&#34;选项是&#34; app / autoload.php&#34;代替。这解决了我遇到的那种错误。

<?xml version="1.0" encoding="UTF-8"?>
<phpunit colors="true"
     bootstrap="app/autoload.php">
<php>
    <server name="KERNEL_DIR" value="./app" />
</php>
<testsuites>
    <testsuite name="Application Test Suite">
        <directory>./src/AppBundle/Tests/</directory>
    </testsuite>
</testsuites>