testId前的灰點變綠,而且進(jìn)度條顯示為綠條,這表明運行成功。下面再選擇BookTest,點擊“Run”按鈕,運行結(jié)果如下圖:
testId前的點依然是綠色,但testName前的點是紅色,而且進(jìn)度條顯示為紅條,這表明testName中存在錯誤。不過這個錯誤是預(yù)計之內(nèi)的,如果不想看到,可以在vs中將testName()方法中的”JSP”改成”ASP”,然后重新運行。此時無須重新啟動NUnit,NUnit會自動加載重新編寫好的文件。此時再運行BookTest,進(jìn)度條已不是紅色,而是綠色了。
六、命令行下
本小節(jié)將簡單介紹一下NUnit的命令行界面。請先打開命令行工具,點擊“開始”菜單->“運行”,打開運行對話框,輸入cmd,回車,然后執(zhí)行命令:
set path=%path%;E:/Program Files/NUnit-Net-2.0 2.2.10/bin
這里E:/Program Files/NUnit-Net-2.0 2.2.10是我本機(jī)的NUnit安裝目錄,bin為NUnit工具存放目錄,為了調(diào)用方便,將該目錄設(shè)置到環(huán)境變量Path當(dāng)中。如果您想一勞永逸,也可以選中“我的電腦”點擊鼠標(biāo)右鍵,選擇“屬性”打開“系統(tǒng)屬性”對話框,然后依次點擊“高級”選項卡->“環(huán)境變量”按鈕,在“環(huán)境變量”對話框中進(jìn)行設(shè)置。
下面在命令行中調(diào)整路徑到剛才運行生成的可執(zhí)行文件所在目錄,執(zhí)行命令:
nunit-console NUnitVB.exe
執(zhí)行結(jié)果如下:
執(zhí)行結(jié)束后,目錄下會生成一個TestResult.xml文件,該文件以XML格式保存了測試結(jié)果信息。
七、NUnit使用進(jìn)階
ExpectedException屬性,異常測試,用于測試是否會拋出指定的異常,若拋出則NUnit-GUI的狀態(tài)條為綠色,反之為紅色。
示例:
VB代碼:
Imports NUnit.Framework
<TestFixture()> _
Public Class Test
<Test(), ExpectedException(GetType(Exception))> _
Public Sub TestExpectedException()
Dim s As String = ""
If s = "" Then
Throw New Exception()
End If
End Sub
End Class
C#代碼:
using System;
using System.Collections.Generic;
using System.Text;
using NUnit.Framework;
namespace NUnitCS
{
[TestFixture]
class Test
{
[Test]
[ExpectedException(typeof(Exception))]
public void TestExpectedException()
{
string s = "";
if (s == "")
throw new Exception();
}
}
}
J#代碼:
package NUnitJS;
import NUnit.Framework.*;
/** @attribute TestFixture() */
public class Test
{
/** @attribute Test() */
/** @attribute ExpectedException(Exception.class) */
public void TestExpectedException() throws Exception
{
String s = "";
if (s == "")
throw new Exception();
}
}
測試效果:NUnit-GUI狀態(tài)條為綠色。
具體說明:由于字符串s在初始化時已賦值為"",因此在判斷相等時條件成立,這樣拋出了異常,狀態(tài)條當(dāng)然也為綠色了。如果想讓狀態(tài)條顯示為紅色,將判斷條件改為不等可以了。