junit4 单元测试学习笔记(一)
文章转载自http://www.cnblogs.com/eggbucket/archive/2012/02/02/2335624.html
JUnit是一个回归测试框架(regression testing framework)。Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。
虽然大多情况下他是程序员的活,但作为测试人员还是有必要了解一下,毕竟也是测试工作,提高自己人技术,扩展思想是主要,边学边做笔记,这样学过的东西才不会忘记,嘻嘻~!
========学习环境=================
java编辑器: Eclipse SDK 3.5.6
junit测试包:Eclipse中自带了junit 4 测试包
=================================
1.我们打开eclipse 创建一个工程名字为:Junit4,
创建一个包,命名为:com.junit4.cc ,
包下面创建一个类 T
代码如下:
package com.junit4.cc;
publicclass T {
publicint add(int x ,int y){
return x+y;
}
}
我们如何来做测试,当然了,上面的代码一眼就可以看出结果,需要测试么,我们这里只是想说明问题,如果我们不用测试框架,我们会用写一个main方法对上面的代码进行验证。全部代码如下。
package com.junit4.cc;
publicclass T {
publicint add(int x ,int y){
return x+y;
}
publicstaticvoid main(String args[]){
int z=new T().add(3,5); //向T类传递两个参数3和5
System.out.println(z); //打印z进行查看3和5是否做了加法运算
}
}
云行上面的代码,通过查看结果来判断add方法是否正确。
---------------------------------------------------------------------------
上面的单元测试有很多弊端:
@ 需要花费很多的时间来写测试代码
@ 测试代码不可重用,一段测试代码对应一段被测代码。被测代码变,测试代码就没用了
@ 无法同时运行多个测试代码。假如有一百个被测试代码,要一个一个的运行测试代码,用肉眼观察结果,效率低还容易出错。
这是我简单总结的几个缺点。
---------------------------------------------------------------------------
2. 那么我们就要使用单元测试框架来提交效率。
下面我们就使用eclipse来创建一个测试。还是测试上面的代码为例子。
为了查看更加清晰,我们一般将测试代码与被测试的代码放在不同的包下面。
我们在Junit工程下面重新创建一个包,命名为:com.junit4.cc.test
----------------------------
创建一个测试类:TTest
注意:这里要创建的是一个测试类:在com.junit4.cc.test包上面右键点击-->new-->Junit test Case
点击“Next”会让你选择要测试的方法,选择后点击“Finish”则完成创建。
创建完成如下图:
TTest.java代码如下:
package com.junit4.cc.test;
importstatic org.junit.Assert.*;
import org.junit.Test;
import com.junit4.cc.*;
publicclass TTest {
@Test
publicvoid testAdd() {
int z=new T().add(5,3);
assertEquals(8,z);
}
}
3. 如果我们想要真正运行TTest.java这个测试类,还要对这个工程引入junit测试包。
右键点击工程(junit4)--->Properties
点击“next ” 按钮,celipse提供junit3和junit4两个测试包,我们选择junit4 点击“finish”就将测试包引入。
4. 下面来运行我们TTest.java测试代码。
看到我们左侧的绿色滚动条,说明我们的被代码是没有问题。
你可以试着修改下面代码的参数:
int z=new T().add(5,3);
assertEquals(8,z); //将5、3、8等数字任意修改,查看绿色滚动条的颜色,给出的提示是什么?