在执行Behat上下文期间不会加载Doctrine注释
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在执行Behat上下文期间不会加载Doctrine注释相关的知识,希望对你有一定的参考价值。
我使用Symfony 2.8和Behat 3.3。我在FeatureContext
目录中有标准的project_root/features/bootstrap
类。在场景执行之前我想要像这样清除DB:
/**
* @BeforeScenario
*/
public function beforeScenario()
{
// use DoctrineCommonDataFixturesPurgerORMPurger
$purger = new ORMPurger($this->em);
$purger->purge();
}
但是当我执行测试时,我收到错误:
类XXX中的注释“@Doctrine ORM Mapping Entity”不存在,或者无法自动加载。
我的behat.yml是:
default:
suites:
default:
contexts:
- FeatureContext:
em: '@doctrine.orm.entity_manager'
extensions:
BehatSymfony2Extension:
kernel:
bootstrap: "vendor/autoload.php"
env: "test"
debug: "true"
composer.json自动加载部分:
"autoload": {
"psr-4": {
"": "src/"
},
"classmap": [
"app/AppKernel.php",
"app/AppCache.php"
]
}
答案
如果从behat.yml中删除行bootstrap: "vendor/autoload.php"
,一切都将按需要运行。
以上是关于在执行Behat上下文期间不会加载Doctrine注释的主要内容,如果未能解决你的问题,请参考以下文章