如何在Behat FeatureContext中获取标签

时间:2018-03-27 07:48:18

标签: php testing behat

有没有办法在Behat FeatureContext中为运行该方法的场景获取标签?

my.feature

  @SPRF1
  Scenario: My scenario
    Given something is done

FeatureContext

class FeatureContext implements \Behat\Behat\Context\Context
{
    /**
     * @Then something is done
     */
    public function somethingIsDone()
    {
        $tags = $this->getScenarioTags(); // this doesn't exist
    }
}

1 个答案:

答案 0 :(得分:3)

您应该使用BeforeScenarioScope挂钩。 尝试这样的事情:

    /**
     * @BeforeScenario
     */
    public function getTestId(BeforeScenarioScope $scope)
    {
        $tags = $scope->getScenario()->getTags();
    }

不要忘记添加use Behat\Behat\Hook\Scope\BeforeScenarioScope;