在SpecFlow中标记测试显式

sta*_*ius 5 specflow

有没有办法用"显式"属性标记Specflow测试?我知道可以通过使用特殊标签@ignore来标记"忽略"属性.

AlS*_*Ski 7

也许.

如果查看生成的xxx.feature.cs,您将看到它被定义为

public partial class xxx{...
Run Code Online (Sandbox Code Playgroud)

因此,您可以将另一个文件添加到项目中xxx.partial.cs,该文件包含部分定义的其他部分.

这就是我所知道的结束,现在你可以做到.

从理论上讲,您可以使用部分类定义并对其进行修改,以使其成为抽象的.然后你可以添加一个派生类来覆盖有问题的测试,这必须是new我们virtual在xxx中不能使用的,并添加你的[Explicit].

我不知道这是否有效.你可能会有抽象没有采取的各种问题,或者测试属性在派生类上消失,等等.但也许它可能让你去.

PS我也不确定这是不是很好的做法.:-)

  • 我能够创建一个局部类并将整个夹具标记为显式.NUnit GUI和Resharper的测试资源管理器都尊重该属性,这很棒.不幸的是,Visual Studio 2012的测试资源管理器似乎并不尊重它,但这是Visual Studio的错误,而不是你的建议. (2认同)