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

时间:2014-06-30 16:45:36

标签: 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",
# /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: ~

解决方案

您必须将autoload参数设置为:

# /behat.yml
default:
    autoload:
        '': %paths.base%/src

1 个答案:

答案 0 :(得分:2)

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

无需在behat.yml中添加任何配置(无需autoload条目)。