在SpecFlow Step Binding类中访问TestContext

时间:2011-09-07 13:12:55

标签: mstest specflow

是否可以从SpecFlow(1.7.1)步骤绑定类中访问MSTest TestContext? 在生成的特征文件代码中有一个方法FeatureSetup,它将TestContext作为参数,但显然不对它做任何事情。

3 个答案:

答案 0 :(得分:5)

我找到了一种方法将参数传递给TestContext,然后从SpecFlow访问它们。

通过添加一个具有TestContext属性并将其AssemblyInit()方法标记为[AssemblyInitialize]的[TestClass],使其在runnig测试之前得到初始化,并且MSTest将能够填充TestContext。

HashSet<ulong> result = data.First();
foreach (HashSet<ulong> set in data.Skip(1))
    result.IntersectWith(set);

然后可以从我的BaseSteps类访问它:

HashSet<T>

答案 1 :(得分:3)

Gáspár Nagy在SpecFlow google论坛上回答:https://groups.google.com/group/specflow/browse_thread/thread/5b038e3e283fdbfe#

  

默认不是。我们有一个独立于测试提供者的ScenarioContext.Current,可用于类似目的。

答案 2 :(得分:0)

进一步对Valentin的回答。以下是将在测试上下文中添加的测试生成器的an example。它来自同一个谷歌集团。

GáspárNagy表示可能会将其添加到specflow中提供的提供商。

所以回答OP的问题,是的,这是可能的。