以前的Behat版本使用useContext来包含子上下文并执行它们。我的问题是如何将SubContext包括在Behat3中?
我试着查看Behat3文档,但它看起来链接被破坏了,也尝试搜索堆栈溢出,但仍然没有线索。
发布于 2016-01-06 09:19:24
你可以做这样的事
//behat.yml
default:
suites:
default:
contexts: [FeatureContext, SubContext]//FeatureContext.php
<?php
use Behat\Behat\Context\Context;
use Behat\Behat\Hook\Scope\BeforeScenarioScope;
class FeatureContext implements Context {
private $subContext;
/** @BeforeScenario */
public function fetchContexts(BeforeScenarioScope $scope)
{
$environment = $scope->getEnvironment();
$this->subContext = $environment->getContext('SubContext');
}
/** @When I do something on :foo */
function IDoSomethingOnFoo($foo) {
$this->subContext->doSomethingOnFoo($foo);
}
}//SubContext.php
<?php
use Behat\Behat\Context\Context;
class SubContext implements Context {
function doSomethingOnFoo($foo) {
//...
}
}我没有测试它,但我很有信心这会回答你的问题。
https://stackoverflow.com/questions/34628441
复制相似问题