初次使用Nunit进行单元测试
本示例出自以下链接
每个.NET 开发人员应该下载的十个必备工具
http://www.vckbase.com/document/viewdoc/?id=1303#NUnit
关于TDD相关文章参照idior的以下链接
http://www.cnblogs.com/idior/category/18786.html
关于NUnit的详细使用方法参照以下链接
http://www.cnblogs.com/confach/archive/2005/06/20/177817.aspx
关于XP和每日构建的入门文章参考以下链接
http://www.cnblogs.com/coolbug/archive/2004/11/22/66954.html
在.NET环境中实现每日构建--NAnt篇
http://dragon.cnblogs.com/archive/2005/07/29/203189.html
NUnit的下载地址和官方网站
http://www.nunit.org/download.html
我用的以下代码测试的,测试通过,很简单,但是是好的开始,呵呵。
using System;
using System.Collections;
using NUnit.Framework;//添加Nunit的引用
namespace NUnitSample
{
//这个属性表示这个类里包含NUnit测试,
//NUnit里有8组属性,这是其中一个,别的我也得学学。
[TestFixture]
public class HashtableTest
{
public HashtableTest()
{
}
//表示这个方法是个测试方法。
[Test]
public void HashtableAddTest()
{
Hashtable ht = new Hashtable();
ht.Add("Key1", "Value1");
ht.Add("Key2", "Value2");
//用断言来判断Hashtable的值是否添加成功,
//Assert有好几个方法,我也得好好看看。
Assert.AreEqual("Value1", ht["Key1"], "Wrong object returned!");
Assert.AreEqual("Value2", ht["Key2"], "Wrong object returned!");
//下面那句是我故意弄了个错误,结果如我所料,
//去掉下面的注释,测试就通不过了,呵呵
//Assert.AreEqual("123","321","呱呱,出错了把");
}
}
}
using System.Collections;
using NUnit.Framework;//添加Nunit的引用
namespace NUnitSample
{
//这个属性表示这个类里包含NUnit测试,
//NUnit里有8组属性,这是其中一个,别的我也得学学。
[TestFixture]
public class HashtableTest
{
public HashtableTest()
{
}
//表示这个方法是个测试方法。
[Test]
public void HashtableAddTest()
{
Hashtable ht = new Hashtable();
ht.Add("Key1", "Value1");
ht.Add("Key2", "Value2");
//用断言来判断Hashtable的值是否添加成功,
//Assert有好几个方法,我也得好好看看。
Assert.AreEqual("Value1", ht["Key1"], "Wrong object returned!");
Assert.AreEqual("Value2", ht["Key2"], "Wrong object returned!");
//下面那句是我故意弄了个错误,结果如我所料,
//去掉下面的注释,测试就通不过了,呵呵
//Assert.AreEqual("123","321","呱呱,出错了把");
}
}
}
不过感觉这样一项一项的单独测试结果是不是太零散了呀,如果一个大项目,里面对每个类库都要测试的话,会生成很多结构,这样太零散了吧。单元测试偶算是有个初步的了解了,离写出高质量的代码的距离又近了一点儿,呵呵,我不会浅尝辄止的,有空了再好好学学怎么使用Nunit,那个软件是英文的,好多菜单和功能我还得用金山词霸翻译一下,而且翻译的还不准确,再看一些关于单元测试,TDD,XP的帖子。下一步还得学习学习源码管理方面的东西,找个CVS看看。
希望偶的例子也能给哪些没有做过单元测试的网友一些灵感。