testId前的灰点变绿,而且进度条显示为绿条,这表明运行成功。下面再选择BookTest,点击“Run”按钮,运行结果如下图:
testId前的点依然是绿色,但testName前的点是红色,而且进度条显示为红条,这表明testName中存在错误。不过这个错误是预计之内的,如果不想看到,可以在vs中将testName()方法中的”JSP”改成”ASP”,然后重新运行。此时无须重新启动NUnit,NUnit会自动加载重新编写好的文件。此时再运行BookTest,进度条已不是红色,而是绿色了。
六、命令行下
本小节将简单介绍一下NUnit的命令行界面。请先打开命令行工具,点击“开始”菜单->“运行”,打开运行对话框,输入cmd,回车,然后执行命令:
set path=%path%;E:/Program Files/NUnit-Net-2.0 2.2.10/bin
这里E:/Program Files/NUnit-Net-2.0 2.2.10是我本机的NUnit安装目录,bin为NUnit工具存放目录,为了调用方便,将该目录设置到环境变量Path当中。如果您想一劳永逸,也可以选中“我的电脑”点击鼠标右键,选择“属性”打开“系统属性”对话框,然后依次点击“高级”选项卡->“环境变量”按钮,在“环境变量”对话框中进行设置。
下面在命令行中调整路径到刚才运行生成的可执行文件所在目录,执行命令:
nunit-console NUnitVB.exe
执行结果如下:
执行结束后,目录下会生成一个TestResult.xml文件,该文件以XML格式保存了测试结果信息。
七、NUnit使用进阶
ExpectedException属性,异常测试,用于测试是否会抛出指定的异常,若抛出则NUnit-GUI的状态条为绿色,反之为红色。
示例:
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状态条为绿色。
具体说明:由于字符串s在初始化时已赋值为"",因此在判断相等时条件成立,这样抛出了异常,状态条当然也为绿色了。如果想让状态条显示为红色,将判断条件改为不等可以了。