3 solution有很多个工程时,专门新增加一些工程,用于写单元测试,比如有一个ClassLibrary3工程,则建一个TestForClassLibrary3工程,单元测试类放到这个工程中去。
solution结构如下:
注意,测试工程要引用被测试工程。
代码如下:
Public Class Class1Class Class1
''' -----------------------------------------------------------------------------
''' <summary>
''' 查找最大值
''' </summary>
''' <param name="list">传入整数数组</param>
''' <returns>返回数组中的最大值</returns>
''' <remarks>
''' </remarks>
''' <history>
''' [TonyGong] 5/25/2006 Created
''' </history>
''' -----------------------------------------------------------------------------
Function FindMax()Function FindMax(ByVal list As Int32()) As Int32
Dim i As Int32
Dim max As Int32 = Int32.MinValue
For i = 0 To list.Length - 1
If list(i) > max Then
max = list(i)
End If
Next
Return max
End Function
End Class
Imports NUnit.Framework
Imports ClassLibrary3
<TestFixture()> _
Public Class Class1TestClass Class1Test
Public Sub New()Sub New()
End Sub
''' -----------------------------------------------------------------------------
''' <summary>
''' 测试Class1类的FindMax方法
''' </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
由于是以工程为单位,所以部署起来很容易,只要把这几个工程去掉就可以了,将来再要用,也只要加上就可以了。不过操作相对来说比较繁琐,没有前2种方法便捷。