ExplicitAttribute (NUnit 2.2)
除非显示选择执行,Explicit特性会忽略执行test or test fixture。在GUI选择test or fixture,在控制台命令行指定了要执行的fixture名称或者包含Category特性的fixture才会执行。
可选字符串参数可用于给定标记显示测试的原因。
如果指定了Explicit特性的test or fixture在执行的测试用例中,除非通过上面的方式选定否则会忽略。测试用例完全不会影响输出结果,像ignored一样,甚至不会计入测试用例数量。在GUI,测试用例树节点保持灰色,并且不会影响状态条。
Note:在NUnit2.4之前,这些测试用例被忽略掉(ignored)。
Test Fixture Syntax
namespace NUnit.Tests { using System; using NUnit.Framework; [TestFixture, Explicit] public class ExplicitTests { // ... } }
Test Syntax
namespace NUnit.Tests { using System; using NUnit.Framework; [TestFixture] public class SuccessTests { [Test, Explicit] public void ExplicitTest() { /* ... */ } }
IgnoreAttribute (NUnit 2.0)
ignore特性用于在一段时间内不执行一个 test or test fixture。当用Ignore特性标记一个Test or a TestFixture时,运行的程序会识别这个特性并且不会执行这些测试用例。如果一个测试用例没有执行程序条会变为黄色,并且在测试输出中指出它未执行。
这个功能应该用于临时不执行test or fixture。相对于注释掉测试用例或者重命名,这是更好的机制。由于测试用例会和其他的代码一起编译,在运行时会有迹象显示未执行。这确保测试不会被遗忘。
Test Fixture Syntax
namespace NUnit.Tests { using System; using NUnit.Framework; [TestFixture] [Ignore("Ignore a fixture")] public class SuccessTests { // ... } }
Test Syntax
namespace NUnit.Tests { using System; using NUnit.Framework; [TestFixture] public class SuccessTests { [Test] [Ignore("Ignore a test")] public void IgnoredTest() { /* ... */ } }