• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

使用NUnit在.Net编程中进行软件单元测试

发布: 2009-3-31 10:34 | 作者: 不详 | 来源: 测试时代采编 | 查看: 33次 | 进入软件测试论坛讨论

领测软件测试网

我们运行NUnit的图形测试工具,打开我们编译好的dll文件,点"Run"按纽,就可以看到如下画面:

很醒目红色,表示测试并没有成功,不过这个是在我们的预料之中的。

接下来,我们向刚才的Ticket类中完成我们的Add方法实现代码:

public void Add(int num)

{

amount += num;

}

保存,重新编译。

切换到NUnit,再点Run,可以看到:

Add方法已经变成绿色了,再接着将Sell方法也完成:

public void Sell()

{

amount -= 1;

}

再来测试,结果就变成:

啊,总算变成美丽的绿色了,大家现在体会到环保的重要性了吧。:)

那么可以交任务了吗?等等,别急,还有个异常没测试呢,如果我们的Amount小于0的话,就会产生异常,那么,异常怎么测试呢?请接着看。

测试异常:

还是跟上面一样,先写出测试代码:

[Test][ExpectedException(typeof(Exception))]public void ExcpetionTesting(){Ticket ticket = new Ticket();ticket.Add(3);ticket.Sell();ticket.Sell();ticket.Sell();ticket.Sell();}

其中,[ExpectedException(typeof(Exception))]表示我们希望能捕获到发生的异常,如果没有捕获到异常,则表示测试失败。

后面的代码很好理解,我们加了三张票,却卖了四张出去,这可不是炒股,以后没办法平仓的。:)

编译运行,我们看到以下的测试画面:

在Ticket类中,我们修改一下Sell方法,让它变成:

public void Sell()

{

if(amount - 1 < 0)

throw new Exception("Amount不能为0");

amount -= 1;

}

编译,再测试,结果如下:

好了,到了这里就算完成我们的单元测试之旅了,大家对如何在C#中进行单元测试一定已经有了一个基本的认识。另外,NUnit并不是只针对C#,事实上,你可以在任何.Net语言中使用NUnit来测试你的单元,方法都一样。

总结:

单元测试看上去虽然有点麻烦,但是它为程序员提供了一个安全的观点,让程序员对自己的程序更加有信心,在减少开发后期进行频繁Debug所耗费时间的同时也为应用软件提供了第一道安全防护网,因此,单元测试是提高开发效率和软件品质的一个重要的手段。

利用UNint,我们可以在.Net编程过程中非常方便的进行单元测试,它图形化的界面和简单而强大的测试框架为我们提供了一个非常舒适而有趣的测试环境,能够让程序员觉得进行单元测试并不枯燥乏味,习惯后甚至还能成为一种乐趣。

看完本文,如果你是引言中那个可怜的程序员的话,你现在就一定能轻松的面对你的项目经理,交上一份令人放心的代码答卷。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

22/2<12

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网