首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Behat3子上下文

Behat3子上下文
EN

Stack Overflow用户
提问于 2016-01-06 08:15:53
回答 1查看 94关注 0票数 1

以前的Behat版本使用useContext来包含子上下文并执行它们。我的问题是如何将SubContext包括在Behat3中?

我试着查看Behat3文档,但它看起来链接被破坏了,也尝试搜索堆栈溢出,但仍然没有线索。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-06 09:19:24

你可以做这样的事

代码语言:javascript
运行
复制
//behat.yml
default:
  suites:
    default:
      contexts: [FeatureContext, SubContext]
代码语言:javascript
运行
复制
//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);
    }
}
代码语言:javascript
运行
复制
//SubContext.php
<?php

use Behat\Behat\Context\Context;

class SubContext implements Context {

    function doSomethingOnFoo($foo) {
        //...
    }
}

我没有测试它,但我很有信心这会回答你的问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34628441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档