我有以下(使用NUnit):
[TestFixture]
public class SmokeTest : BaseTest
{
[Test(SmokeTest)]
public void ShouldAlwaysRun()
{
//Tests,Assertions,etc
}
[Test]
public void ShouldNotRunIfSmoke()
{
//Tests,Assertions,etc
}
}
我的项目的每个功能区域都有一个 TestFixture。我希望能够运行仅运行标记为“SmokeTest”的那些测试(可能通过属性)的“烟雾测试”。我最初在他们自己的文件中进行了冒烟测试,但实际上是在将其他测试复制并粘贴到该文件中 - 我想保留 DRYer。
最终目标是我可以以某种方式识别何时运行烟雾测试,以便:
- 如果我正在运行冒烟测试,只运行那些标记为这样的
- 如果我不运行冒烟测试,请运行所有测试,包括冒烟测试
使用 NUnit 如何实现这一点?
编辑:我刚刚找到类别:
http://www.nunit.org/index.php?p=category&r=2.2.10
这会很棒 - 但是我如何从测试资源管理器或构建配置中指定何时只运行某个类别?如果有更好的方法,我会保留这个问题。