在执行Behat上下文期间不会加载Doctrine注释

时间:2017-12-20 21:01:48

标签: symfony doctrine-orm behat

我使用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"
        ]
    }   

1 个答案:

答案 0 :(得分:1)

如果从behat.yml中删除行bootstrap: "vendor/autoload.php",一切都会按需运行。