phpunit 找不到教义注释



我正在一个Sylius项目中工作,并且我有一些功能测试。碰巧的是Sylius已改用Symfony 3.2,此后我的大量测试不再起作用。

每当我尝试运行测试时,我都会得到

之类的错误
DoctrineCommonAnnotationsAnnotationException: [Semantical Error] The annotation "@DoctrineORMMappingEntity" in class ...EntityBlock 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();
}
}

对我的设置可能出了什么想法?

找到了修复程序。我决定查看SF标准存储库中的phpunit.xml,然后将我的" Boostrap"选项更改为" app/autoload.php"。这解决了我遇到的错误。

<?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>

相关内容

  • 没有找到相关文章

最新更新