以编程方式跳过一个nunittesting

有没有一种方法让nunittesting结束并告诉testing运行者,应该考虑跳过/忽略,而不是成功或失败?

我的动机是,我有一些testing不适用于某些情况下,但是直到testing(或者灯具)开始运行才能确定。

很明显,在这种情况下,我可以从testing中回来,并允许它成功,但(一)这似乎是错误的,(二)我想知道testing已被跳过。

我知道[忽略]属性,但是这是编译。 我正在寻找一个运行时间,程序的等价物。 就像是:

if (testNotApplicable) throw new NUnit.Framework.IgnoreTest("Not applicable"); 

或者是以编程方式跳过testing只是错误? 如果是的话,我该怎么做?

 Assert.Ignore(); 

特别是你要求的,但也有:

 Assert.Inconclusive(); 

我有一个TestInit()TestInitialize方法有一个条件,如:

  //This flag is the most important.False means we want to just ignore that tests if (!RunFullTests) Assert.Inconclusive(); 

RunFullTests是一个位于常量类中的全局布尔variables。 如果我们将其设置为false,则整个testing类将被忽略,并且该类下的所有testing都将被忽略。

有集成testing时我使用这个。