这篇学习笔记主要解释一下“NUnit学习笔记1”中举的例子,说明一下NUnit的主要用法。
上个例子中,主要结构如下:
其中Class1内包含了求最大值的方法,也是我要测试的类。
Class1Test就是用来测试Class1中方法的测试类。
流程:
1,要使用NUnit,先必须添加nunit.framework引用:
在Solution Explorer中的References上按右键,添加引用,然后按browse,在NUnit目录下找到nunit.framework.dll,添加
2,在测试类Class1Test的头上添加Imports NUnit.Framework;c#是using NUnit.Framework;
3,标示测试类,在测试类上添加<TestFixture()>这个Attribute ,然后添加一个无参的构造函数(c#为必须,vb.net不必须),如下:
1 Imports NUnit.Framework 2 3 <TestFixture()> _ 4 Public Class Class1Test 5 Public Sub New() 6 7 End Sub 8 9 End Class |
4,然后就可以添加一个测试方法了,测试方法前面加上<test()>的Attribute
1 <Test()> _ 2 Public Sub FindMaxTest() 3 '定义一个数组 4 Dim list1 As Int32() = {1, 3, 10, 4} 5 6 Dim my As New Class1 7 '测试数组list1中的最大整数是不是10。 8 Assert.AreEqual(4, my.FindMax(list1)) 9 End Sub |
其中,Assert.AreEqual()就是NUnit提供的一个断言,用来判断前后2个值是否相等。如果相等,则测试通过,否则测试失败。
5,如此,一个单元测试就算是写好了,可以使用了(当然,测试用例还不够完善)。
接下去运行这个单元测试:先编译solution,生成一个exe或dll的程序集,打开nunit-gui.exe,点“file。。。”----〉“Open。。。”,然后,选中刚才生成的程序集,出现如下图: