是否有办法让nunit测试结束并告诉测试运行员应该考虑跳过/忽略,而不是成功或失败?
我的动机是,我有一些测试在某些情况下不适用,但在测试(或可能是灯具)开始运行之前无法确定。
显然在这些情况下,我可以从测试中返回并允许它成功,但(a)这似乎是错误的,(b)我想知道测试已被跳过。
我知道[Ignore]属性,但这是编译的。我正在寻找一个运行时,程序化的等价物。类似的东西:
if (testNotApplicable)
throw new NUnit.Framework.IgnoreTest("Not applicable");
或者以编程方式跳过测试错误?如果是这样,我该怎么办?
答案 0 :(得分:40)
Assert.Ignore();
具体是你要求的,但也有:
Assert.Inconclusive();
答案 1 :(得分:0)
我有一个TestInit()
,TestInitialize
方法,其条件如下:
//This flag is the most important.False means we want to just ignore that tests
if (!RunFullTests)
Assert.Inconclusive();
RunFullTests 是位于常量类中的全局布尔变量。如果我们将其设置为false,则将忽略整个测试类,并忽略此类下的所有测试。
我在进行集成测试时使用它。