特定内核的 Behat SymfonyExtension 配置

Behat SymfonyExtension Configuration for specific Kernel

我的应用程序 SpecificKernel.phpapp/SpecificKernel.php 下有一个特定的内核,我需要在 behat.yml 中指定使用此内核而不是默认内核。

default:
    suites:
        first:
            type: symfony_bundle
            bundle: MyBundle
            mink_session: selenium2
            contexts:
                - MyBundle\Features\Context\FeatureContext

            # Should be placed somewhere in this file, but I do not know where
            #symfony2_extension:
                #kernel:
                    #path: app/SpecificKernel.php
    extensions:
        Behat\Symfony2Extension: ~
        Behat\MinkExtension:
            base_url:  http://www.example.local
            sessions:
                default:
                    symfony2: ~
                selenium2:
                    selenium2: ~

SymfonyExtension的源代码中我发现应该设置在symfony2_extension->kernel->path中,但是问题是我不知道该配置在哪里,我尝试了多种方法,每次都出现默认错误Class AppKernel does not exist

能否请您建议将 symfony2_extension configurations 放在 behat.yml 文件中的什么位置。

好的,经过 2 小时的工作,我终于成功了,问题是您不仅应该指定 path,还应该指定 class。最后我得到了这样的东西:

default:
    suites:
        reglements:
            type: symfony_bundle
            bundle: MyBundle
            mink_session: selenium2
            contexts:
                - MyBundle\Features\Context\FeatureContext
    extensions:
        Behat\Symfony2Extension:
            kernel:
                path: app/SpecificKernel.php
                class: SpecificKernel
        Behat\MinkExtension:
            base_url:  http://www.example.local
            sessions:
                default:
                    symfony2: ~
                selenium2:
                    selenium2: ~