我们如何在步骤定义中检索/获取功能和方案标题?

时间:2013-11-26 11:25:43

标签: mstest specflow gherkin scenarios

如何在步骤定义中检索/获取功能,方案标题和标签名称?

例如,我有一个功能文件booksearch,其中包含一项功能:

Feature: Book Search
Scenario: Title should be matched

I perform a simple search on 'abc'
------------------------
------------------------


    [When(@"I perform a simple search on '(.*)'")]
    public void WhenIPerformASimpleSearchOn(string searchTerm)
    {
        --------
        ----------
        //custom log    
        WriteLogs(int stepNum,string scenarioName,string tagname,string stepDescription,string stepResult)
    }

如何在给定方案的步骤定义中检索/获取要素和方案标题和标记名称?

我们正在使用MSTest作为单元测试提供商。

2 个答案:

答案 0 :(得分:7)

您可以通过查询FeatureInfoScenarioInfo类来检索功能和方案标题。

例如,将以下代码放在步骤定义中(即WhenIPerformASimpleSearchOn()):

var featureTitle = FeatureContext.Current.FeatureInfo.Title;
var featureTags  = FeatureContext.Current.FeatureInfo.Tags;
var featureDescription = FeatureContext.Current.FeatureInfo.Description;    

var scenarioTitle = ScenarioContext.Current.ScenarioInfo.Title;
var scenarioTags  = ScenarioContext.Current.ScenarioInfo.Tags;

将检索功能标题,标签和说明以及方案标题和标签。

答案 1 :(得分:1)

它们是上下文的一部分,您可能需要同时查看ScenarioContext和。{3}} FeatureContext获取您想要的详细信息。