我使用Symfony 2.8和Behat 3.3。我在FeatureContext
目录中有标准的project_root/features/bootstrap
类。在场景执行之前,我想要清除DB:
/**
* @BeforeScenario
*/
public function beforeScenario()
{
// use Doctrine\Common\DataFixtures\Purger\ORMPurger
$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:
Behat\Symfony2Extension:
kernel:
bootstrap: "vendor/autoload.php"
env: "test"
debug: "true"
composer.json 自动加载部分:
"autoload": {
"psr-4": {
"": "src/"
},
"classmap": [
"app/AppKernel.php",
"app/AppCache.php"
]
}
答案 0 :(得分:1)
如果从behat.yml中删除行bootstrap: "vendor/autoload.php"
,一切都会按需运行。