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等数字任意修改,查看绿色滚动条的颜色,给出的提示是什么?

posted on 2014-02-08 15:29  山庄听泉  阅读(281)  评论(0编辑  收藏  举报

导航