- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
菜鸟学Java——如何更好的进行单元测试——JUnit
测试在软件声明周期中的重要性,不用我多说想必大家也都非常清楚。软
件测试有很多分类,从测试的方法上可分为:黑盒测试、白盒测试、静态
测试、动态测试等;从软件开发的过程分为:单元测试、集成测试、确认
测试、验收、回归等。
在众多的分类中,与开发人员关系最紧密的莫过于单元测试了。像其他种
类的测试基本上都是由专门的测试人员来完成,只有单元测试是完全由开
发人员来完成的。那么今天我们就来说说什么是单元测试,为什么要进行
单元测试,以及如更好的何进行单元测试。
什么是单元测试?
单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验
证。比如我们可以测试一个类,或者一个类中的一个方法。
为什么要进行单元测试?
为什么要进行单元测试?说白了就是单元测试有什么好处,其实测试的好
处无非就是减少bug、提高代码质量、使代码易于维护等。单元测试有什
么好处请看一下百度百科中归纳的四条:
1、它是一种验证行为。
程序中的每一项功能都是测试来验证它的正确性。它为以后的开发提供支
援。就算是开发后期,我们也可以轻松的增加功能或更改程序结构,而不
用担心这个过程中会破坏重要的东西。而且它为代码的重构提供了保障。
这样,我们就可以更自由的对程序进行改进。
2、它是一种设计行为。
编写单元测试将使我们从调用者观察、思考。特别是先写测试(test-first ),
迫使我们把程序设计成易于调用和可测试的,即迫使我们解除软件中的耦
合。
3、它是一种编写文档的行为。
单元测试是一种无价的文档,它是展示函数或类如何使用的最佳文档。这
份文档是可编译、可运行的,并且它保持必威体育精装版,永远与代码同步。
4 、它具有回归性。
自动化的单元测试避免了代码出现回归,编写完成之后,可以随时随地的
快速运行测试。
如何更好的进行单元测试?
在讨论如何更好的进行单元测试之前,先来看看我们以前是怎么测试代码
的。
以前是这样测试程序的:
publicintadd(intx,inty) {returnx +y; }publicstaticvoidmain(String args) {intz
=newJunit.add(2, 3); System.out.println(z); }
如上面所示,在测试我们写好的一个方法时,通常是用一个 main 方法调
用一下我们要测试的方法,然后将结果打印一下。现在看来这种方式已经
非常out 了,所以出现了很多单元测试的工具,如:JUnit、TestNG 等。
借助它们可以让我们的单元测试变得非常方便、高效。今天就说说如何利
用JUnit 进行单元测试。
我们新建一个Java Project 以便进行演示,至于Java Project 怎么创建我
就不在此赘述了,如果连怎么建Java Project,那你还不适合看这篇文章。
建好以后在该项目的“src” 目录上右击,选择new——》JUnit Test Case,
然后按下图填写必要信息:
填写好包名和类名(选择New JUnit 4 Test),点击最下面的那个“Browse”
按钮来选择需要测试的类:
手动输入我们要测试的类,选择该类,点击“OK”,回到第一张图的界面,
然后点击“Next”,来到下图:
勾选要测试的方法,点击“Finish”,这样我们的 JUnit 测试实例就建好了。
然后就可以写具体的测试了:
packagecom.tgb.junit.test;// 静 态 引 入
importstaticorg.junit.Assert.*;importstaticorg.hamcrest.Matchers.*;import
org.junit.Test;importcom.tgb.junit.Junit;publicclassJUnitTest
{ @TestpublicvoidtestAdd {intz =newJunit.add(2, 3); assertThat(z ,
is(5)); } @TestpublicvoidtestDivide {intz =newJunit.divide(4, 2);
assertThat(z, is(2)); } }
写好以后,右击该类选择“Run As”——》“JUnit Test”,出现下图代表测试
通过:
到这里,可能有人会有疑问,JUnit 跟用main 方法测试有什么区别呢?
首先,JUnit 的结果更加直观,直接根据状态条的颜色即可判断测试是否
通过,
文档评论(0)