JUnit初步

来源:互联网 发布:html编程工具 编辑:程序博客网 时间:2024/05/01 23:04

最近在学习junit单元测试,学习参考书为<<junit in action>>的中文版。由于毕业设计的缘故,不接触<junit in action>都快一个多星期了,之前学习的一点东西快忘光了,趁着未完全忘掉之前写点东西。

在软件开发过程中单元测试是很重要的一个环境,只有通过单元测试的代码才能签入到代码库有,现在测试驱动开发过程中单元测试也是需要由开发人员来的完成的。junit就是用于java开发过程中的单元测试框架,提供一些类来简化单元测试,且能与流行的开发工具很好的集成,还有一点是junit是开源免费的工具。

junit项目网址:http://www.junit.org/,在sourceforge页面为http://junit.sourceforge.net/

如下是junit in action中的一个例子(calculator.java),测试加法操作:

若不用测试框架而自己写代码来测试,最简单的代码就是如下情况(TestCalculator1.java),需要写main函数,当需要测试的方法较多时就需要写较多的代码,且各测试代码可能会相互影响,出现错误也不容易检查。

而使用junit来写单元测试时,只需编写从TestCas继承的子类针对需要测试的各个方法编写相应的测试代码(TestCalculator2.java):

代码编写完成后,首先编译,在编码测试代码时需要将junit.jar加入classpath中。我使用的juint版本为junit3.8.2,将下载的压缩包解压后就会看到有一个junit.java文件。编译TestCalculator2.java命令行如下所示:

  javac -cp ../../tools/junit3.8.2/junit.jar;. TestCalculator2.java

junit测试需要由一个启动器TestRunner来启动,并将需要测试的类作为其参数:

  java -cp ../../tools/junit3.8.2/junit.jar;. junit.swingui.TestRunner TestCalculator2

如上代码启动swing图形界面的启动器,还有一种启动动器是基于文本的:junit.textui.TestRunner。

运行界面如下图所示,当所有测试都通过时中间代码显示为绿色,而有错误时则显示为红色:

junit运行测试

在junit中有一些较好实践经验,比如测试类都是以Testxx,而测试方法为textXxx,在运行时会自动扫描以test开头的方法;每次只测试一个方法,在测试中可以模拟异常产生等等。

 

原创粉丝点击