
2.测试的方法必须是void的,不带有返回类型,如图所示: 
b.打开项目的属性页,【调试】-【启动操作】部分,选择启动外部程序,然后选择nunit.exe程序。这样F5调试的时候,可以直接用nunit打开,查看单元测试的执行信息

对比Microsoft.VisualStudio.TestTools.UnitTesting的Assert静态类,可以发现提供的静态方法大体一致,甚至连形参名称都相同。2.测试的方法同样必须是void的。可以验证:给一个有返回值的方法标记Test附加属性。 [Test] public int TestNUnit4() { Assert.Greater(10, 11, "不知道具体结果"); return 1; }运行之后,如图所示,会提示相应的测试方法运行不了,(注意是Invalid,而不是断言失败的Failed),原因是方法有一个非空的返回类型,而nunit期望的是无返回结果的方法。

3.如果想让某个方法暂时不运行测试(或者说测试的时候忽略),可以给它附加了Ignore属性。
[Test] [Ignore("the method is not ready yet")]//方法标记Ignore属性,会在nunit中忽略这个方法的运行,呈现黄色。 public void TestNUnit3() { Assert.AreEqual(10, 11, "it is not equal"); }
注意:Ignore属性可以附加在方法上,也可以附加在类上,这样整个类中的测试方法都会忽略测试运行。如下所示: [TestFixture] [Ignore("the class is not ready yet")] public class Test { [Test] public void TestNUnit() { Console.WriteLine("12121"); Assert.AreEqual(1, 2, "it is not equal"); } [Test] public void TestNUnit1() { Assert.AreEqual(1, 1 ,"it is not equal"); } [Test] public void TestNUnit2() { Assert.AreEqual(1, Assert.Counter); } . . . }
[Test] public void Method1() { var a = 1; var b = 0; var test = a / b; Assert.Pass("assert pass"); }
[TestFixture] public class Test { [Test] public void TestNUnit() { Console.WriteLine("12121"); Assert.AreEqual(1, 2, "it is not equal"); } //省略其他测试方法... [SetUp] public void SetUp() { Console.WriteLine("SetUp"); } [TearDown] public void TearDown() { Console.WriteLine("TearDown"); } }运行效果如图:

新闻热点
疑难解答