Symfony2 + Behat 3:在Bundle内部而不是在features/bootstrap目录中生成Context文件

Kri*_*czi 7 symfony behat

如何运行behat --init -s bugfix以在Bundle中生成Context文件?有没有办法做到这一点?我看到了,Sf2DemoBundle但我没有解决它是如何工作的.

我的文件

# /composer.json
    "behat/behat": "dev-master",
    "behat/mink": "dev-master",
    "behat/mink-extension": "dev-master",
    "behat/symfony2-extension": "dev-master",
    "behat/mink-goutte-driver": "dev-master",
    "behat/mink-browserkit-driver": "dev-master",
    "behat/mink-selenium2-driver": "dev-master",
Run Code Online (Sandbox Code Playgroud)
# /behat.yml
default:
    suites:
        default:
            path: %paths.base%/features
            contexts: [Behat\MinkExtension\Context\MinkContext]
        bugfix:
            type: symfony_bundle
            bundle: 'TestBugfixBundle'
            contexts: ['TestBugfixBundle\Features\Context\WebContext']
    extensions:
        Behat\Symfony2Extension: ~
        Behat\MinkExtension:
            default_session: 'symfony2'
            sessions:
                symfony2:
                    symfony2: ~
Run Code Online (Sandbox Code Playgroud)

解决方案

您必须将autoload参数设置为behat:

# /behat.yml
default:
    autoload:
        '': %paths.base%/src
Run Code Online (Sandbox Code Playgroud)

Mic*_*rin 2

您的解决方案很好,但您也可以将上下文文件移动到捆绑包功能目录(src/Acme/DemoBundle/Features/Context例如),它将立即起作用。

然后无需添加任何配置behat.ymlautoload无需输入)。