踏上原路

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

一、介绍

1、现在Junit的最新版本是4.7,仍然属于Junit4这个范围。Junit官网:http://www.junit.org/

2、什么是单元测试:写了个类,要给别人用,需要先测试一下里面的方法有没有bug。

以前测试是这么来写:

public class T {

	public int add(int x,int y){
		return x + y;
	}
	
	public static void main(String[] args) {
		int z = new T().add(3, 5);
		System.out.println(z);
	}
}

 (这样的缺点:不同的类里面的main方法不能一起运行,而且要用人眼观察)

3、为什么要进行单元测试:提高程序的健壮性、降低后期的成本

4、Eclipse本身是带了Junit包的

建立时,测试的类与开发的类要分开来存放。

 

二、使用Junit步骤

下面是建立指定测试类的步骤:

1、

2、点击next,输入测试类名称和对某个类进行测试:

3、点击next,选择对将要测试的类的哪个方法进行测试:

4、点击finish,导入junit的jar包(使用Junit需要导入Junit的jar包),可以导入eclipse中自带的Junit的jar包,也可以导入自己从网上下载到的最新的jar包:

5、测试类例子:

//Assert:断言
//静态引入,Assert类中是静态方法:静态引入之后,直接调用方法就可以了,不用“类名+.”进行调用
import static org.junit.Assert.*;
import junit.T;

import org.junit.Test;

public class TTest {

	@Test
	public void testAdd() {
		int z = new T().add(3, 5);
		assertEquals(8, z);		//判断是否相等:期望值:8,实际值:z
	}

}

 运行:

结果:(绿色:没有bug    不是绿色:有bug)

                 

如何测试“抛异常”:

@Test(expected=java.lang.ArithmeticException.class)

public void testDivide(){

    int z = new T().divide(8, 0);

}

如何测试没有返回值的方法?看该方法中的操作是不是在实际中真的按照原想的执行。

还可以测试servet、struts 2、spring等

 

三、说明

1、Junit的结果:

Failure是测试失败;

Error是测试程序本身出错。

 

2、JUnit4 Annotation

(1)@Test: 测试方法

        a)(expected=XXException.class)

        b)(timeout=xxx)

(2)@Ignore: 被忽略的测试方法

(3)@Before: 每一个测试方法之前运行

(4)@After: 每一个测试方法之后运行

(5)@BeforeClass: 所有测试开始之前运行

(6)@AfterClass: 所有测试结束之后运行

 

3、当有多个测试类时,如何将这些测试类一起运行(运行多个测试):

(1)

(2)

 

4、测试框架

除了Junit,还有TestNG等。

 

posted on 2013-11-10 19:13  踏上原路  阅读(253)  评论(0编辑  收藏  举报