接下来再为大家介绍几个常用的属性。
现在的测试中,我们有4个测试方法,但是如果我们想让其中的一个测试方法不在NUnit中显示,怎么办呢?不是注释,大家不要想歪了,注释大家都知道。要想让一个测试方法不在NUnit中显示,也不运行,我们应该使用[Ignore]属性。看看把TestAdd()添加[Ignore]属性后会是什么样子:
[Test]
[Ignore]
public void TestAdd()
{
Console.WriteLine("TestAdd() Begin");
expected = 12;
actual = cal.Add(a, b);
Assert.AreEqual(expected, actual);
Console.WriteLine("TestAdd() End");
}
[Ignore]
public void TestAdd()
{
Console.WriteLine("TestAdd() Begin");
expected = 12;
actual = cal.Add(a, b);
Assert.AreEqual(expected, actual);
Console.WriteLine("TestAdd() End");
}
现在有了一个新的颜色了——黄色。它是指被忽略的方法。当然,你在项目中出现最多的肯定是绿色。在NUnit中我们可以用[Ignore]的重载方法[Ignore("忽略原因")]来定义忽略原因。
NUnit有一个与[Ignore]类似的属性[Explicit],它是指只有在NUnit中被明确的指定时才运行,否则不运行。有点拗口,我们来看例子。改写TestMinus方法:
[Test,Explicit]
public void TestMinus()
{
Console.WriteLine("TestMinus() Begin");
expected = 8;
actual = cal.Minus(a, b);
Assert.AreEqual(expected, actual);
Console.WriteLine("TestMinus() End");
}
public void TestMinus()
{
Console.WriteLine("TestMinus() Begin");
expected = 8;
actual = cal.Minus(a, b);
Assert.AreEqual(expected, actual);
Console.WriteLine("TestMinus() End");
}
这里,
[Test,Explicit]
和
[Test]
[Explicit]
[Explicit]
是完全一样的。
我们看它的截图:
"TestMinus"是灰色的,运行的Cases有2个,一个被忽略。而当我们选中TestMinus时:
这个测试运行了。