[TearDown]
public void Dispose()
{
Console.WriteLine("book对象将被清理!");
book = null;
Console.WriteLine("测试结束!");
}
}
}
没什么好说的吧?下面看J#代码:
package NUnitJS;
import System.*;
import NUnit.Framework.*;
/** @attribute TestFixture() */
public class BookTest
{
Book book = null;
/** @attribute SetUp() */
public void Init()
{
Console.WriteLine("测试开始!");
book = new Book();
Console.WriteLine("book对象被初始化!");
}
/** @attribute Test() */
public void testId()
{
book.set_id("001"); //设置id属性的值为001
//使用Assert查看id属性的值是否为001
Assert.AreEqual("001", book.get_id());
Console.WriteLine("id属性被测试!");
}
/** @attribute Test() */
public void testName()
{
book.set_id("ASP"); //设置name属性的值为ASP
//使用Assert查看name属性的值是否为JSP,这是个必然出现错误的测试
Assert.AreEqual("JSP", book.get_name());
Console.WriteLine("name属性被测试!");
}
/** @attribute TearDown() */
public void Dispose()
{
Console.WriteLine("book对象将被清理!");
book = null;
Console.WriteLine("测试结束!");
}
}
改好后,点击菜单“调试”->“启动调试”或按F5键运行程序。等等,main函数里头好象一句代码也没写过呢吧?没错,一句也没写,不过你照做可以了。在看到黑屏一闪之后,编码工作完成。
五、运行NUnit
编码完成后,可以使用NUnit测试了。NUnit有两种界面,一种是命令行的,一种是可视化的,我使用的是后者。点击“开始”菜单->“所有程序”->“NUnit-Net-2.0 2.2.6”->“NUnit-Gui”,打开NUnit的可视化界面:
点击菜单“File”->“Open”,打开刚才运行生成的可执行文件:
此时可以使用BookTest类对Book类进行测试了。请首先选择testId,点击“Run”按钮,运行结果如下图:
testId前的灰点变绿,而且进度条显示为绿条,这表明运行成功。下面再选择BookTest,点击“Run”按钮,运行结果如下图:
testId前的点依然是绿色,但testName前的点是红色,而且进度条显示为红条,这表明testName中存在错误。不过这个错误是预计之内的,如果不想看到,可以在vs中将testName()方法中的”JSP”改成”ASP”,然后重新运行。此时无须重新启动NUnit,NUnit会自动加载重新编写好的文件。此时再运行BookTest,进度条已不是红色,而是绿色了。
六、说明
本文是对《NUnit学习笔记》的修正,NUnit和Visual Studio.net都使用了新版本。NUnit 2.2.6对2.2.0进行了很多扩展,这从对NUnit.Framework.Assert和NUnit.Framework.StringAssert的介绍可以看出来。