''' </summary>
''' <remarks>
''' </remarks>
''' <history>
''' [TonyGong] 5/25/2006 Created
''' </history>
''' -----------------------------------------------------------------------------
<Test()> _
Public Sub FindMaxTest()Sub FindMaxTest()
'
Dim list1() As Int32 = {1, 3, 10, 4}
Dim list2() As Int32 = {1, 3, 4, 10}
Dim list3() As Int32 = {10, 3, 1, 4}
Dim list4() As Int32 = {-2, -1, -3}
Dim my As New Class1
'测试数组list1中的最大整数是不是10。
Assert.AreEqual(10, my.FindMax(list1))
'测试边界值
Assert.AreEqual(10, my.FindMax(list2))
Assert.AreEqual(10, my.FindMax(list3))
'测试负数数组,数组中最大值应该是-1
Assert.AreEqual(-1, my.FindMax(list4))
End Sub
End Class
运行Nunit,结果如下:
这种方法的优点很明显:由于测试代码同被测试的方法放在一个类中,所以private等方法很容易被测试。但同时缺点也很明显,该类会被写得很复杂,估计很少会有人喜欢看这种代码,而且万一客户不需要这些代码的话,在最后部署的时候,关del测试代码,估计也是个大问题。
2 每写一个需要被测试的类,就写当前工程下新建一个相应的测试类,名字可以在被测试类后面加上Test以示区别。
solution结构如下:
代码就不写了。
这种方法的优点是结构比较清晰,在比较小的工程中使用还算不错,修改测试代码也比较方法。缺点同样是部署时删除单元测试代码比较麻烦,同时solution太大,有很多project时,有很大局限性。
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/