这两天研究了两天的Nunit,谈一下我对Nunit的认识~
Nunit是C#的单元测试工具,现在用Nunit进行单元测试的。
目前使用Nunit的公司,很多是采用TDD开发模式的公司。所谓的TDD是“测试驱动开发”的敏捷开发模式。
举个例子说明一下,什么叫做“测试驱动开发”模式:
使用NUnit在.Net编程中进行单元测试
我收集的,大家有兴趣可以看看,不过实际的执行图片我发不上来,大家将一下咯
内容:
摘要:
本文通过一个详实的例子,详细介绍了如何在C#中利用NUnit单元测试框架进行应用程序类的单元测试工作。
--------------------------------------------------------------------------------
目录:
引言
什么是单元测试
测试先行
测试异常
总结
--------------------------------------------------------------------------------
引言:
举一个可能会发生在你身边的事件将更能贴近实际,幸好我们现在有一件在程序员看来非常普通的任务:
你第上班,你的项目经理拿给你一叠不算厚的文档,告诉你的任务是按照文档中的要求编写一个.Net类,可能因为任务并不复杂,所以他看上去非常的随意。
能否很好的完成任务对你来说非常特殊,你拿过来后快速略过了前面大段的项目介绍,因为你知道那些对你并不重要,印象中好象是一个关于售票系统的工程。很快,你找了你需要关注的重点:类的需求说明文档。你详细的看了一遍,感觉并不复杂,类名Ticket,有一个只读的int型公共的属性,名称是Amount,还有两个方法,一个是名称是Sell,功能是将Amount减去一,表示卖掉了一张票,当然,票可不能为负数,如果是的话,抛出一个异常说明原因。另一个是Add,它有一个int型的参数,功能是将这个参数的值加到Amount中去,可能是表示进票之类的事情吧,你不太关心,反正这个程序很简单,你掩饰住内心的狂喜,打开电脑,调出编辑器,开始准备写程序了。
"喂,等等",项目经理不知道什么时候又转回来了,"我想知道你打算怎么进行单元测试,我关心的是这个"。
"什么是单元测试?"你转过头一脸沮丧的看着失望的项目经理。
--------------------------------------------------------------------------------
什么是单元测试:
在程序设计过程中会有许多种测试,单元只是其中的一种,单元测试并不能保证程序是完美无缺的,但是在所有的测试中,单元测试是第一个环节,也是重要的一个环节。单元测试是一种由程序员自行测试的工作。简单点说,单元测试是测试代码撰写者依据其所设想的方式执行是否产生了预期的结果。关于单元测试的重要性已经有许多文章做了很多深入的分析,这里不再赘述。
NUnit是一个为Net准备的自动化单元测试框架,它的作用是帮助你方便的完成单元测试工作,同鼎鼎有名的JUnit一样,都是xUnit家族的成员。它的下载地址是:http://www.nunit.org。
--------------------------------------------------------------------------------
测试先行:
"什么?先写测试?"你一定非常惊讶,对!是先来编写测试代码,按照极限编程(XP)的理论,写测试是对软件进行设计的过程,它的重要性甚至超过了实际完成功能的代码。先将测试写完,然后再来完成代码,这样,所有的测试通过之日也是程序完成之时。
首先,我们将NUnit提供的要nunit.framework.dll文件引入到工程中,并创建一个名为TicketTest的类:
[TestFixture]
public class TicketTest
{
[Test]
public void Add()
{
Ticket ticket = new Ticket();
ticket.Add(100);
Assertion.AssertEquals(100, ticket.Amount);
}
}