我正在一个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();
}
}
关于我的设置可能出错的任何想法?
答案 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>