如何在Behat 3.0中使用子上下文

时间:2014-08-07 18:24:01

标签: symfony bdd behat

in behat 2.5如果我想分割我的步骤定义我只需要创建多个clases

class FeatureContext extends MinkContext
{    
    public function __construct(array $parameters)
    {
        // Initialize your context here
        // ...
        $this->useContext('SubContextA', new SubContextA($parameters));
        $this->useContext('SubContextB', new SubContextB($parameters));
    }
}

但3.0分支是完全不同的Context不扩展它们实现SnippetAcceptingContext并使用像KernelDictionary这样的特性。

如何在Behat 3.0中使用“subcontexts”文档真的很差

1 个答案:

答案 0 :(得分:6)

文档确实很差。 AFAIK你不具备子语境,而你现在可以define multiple contexts每个套件。

# behat.yml

default:
    suites:
        domain_features:
            paths:    [ %paths.base%/features ]
            contexts: [ DomainContext ]
        web_features:
            paths:    [ %paths.base%/features ]
            contexts: [ WebContext ]
            filters:
                tags: @web