我有以下(使用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
这将是巨大的 - 但如何从测试资源管理器指定或建立CONFIGS当只运行某一类别?如果有更好的方法,我会留下这个问题。