junit4比junit3.8有了较大的改进,主要体现在
1.增加了Annotation注解。
2.类不需要extends TestCase
3.方法名可以随便起
4.通过Annotation注解(@Test)来体现某个类为测试类
5.对异常处理方面有了较大改进,如:@Test(expected = Exception.class)通过expected参数大大简化了处理
6.新增了@BeforeClass,全局只执行一次。junit3.8里没有这样的方法。
package org.test;
import junit.framework.Assert;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
/**
* 不需要再继承TestCase
*
*/
public class AddTest2 {
public AddTest2(){
System.out.println("constructor invoked!");
}
private static Add add ;
/**
* junit4里新增的特性,必须是static的,全局只执行一次,在所以测试方法前执行,并且是在该测试类的构造函数执行前执行。仅执行一次
*/
@BeforeClass
public static void globalInit(){
add = new Add();
System.out.println("global init");
}
/**
* 相当于junit3.8里的setUp(),每个测试方法执行前都会执行一次
*/
@Before
public void init(){
System.out.println("init");
}
/**
* 相当于junit3.8里的tearDown
*/
public void destroy(){
System.out.println("destroy");
}
/**
* junit4里方法名字可以随便起,但是必须满足
* 1)public
* 2) void
* 3) 方法没有参数
*/
@Test
public void myAdd(){
int result = add.add(3, 5);
Assert.assertEquals(8, result);
}
}
执行结果:
global init
constructor invoked!
init
package org.test;
import org.junit.Test;
public class DivideTest2 {
private Divide divide ;
public void init(){
divide = new Divide();
}
/**
* 加了expected参数意思是,该方法必须抛出该异常,否则测试失败
* @throws Exception
*/
@Test(expected = Exception.class)
public void myDivide() throws Exception{
int result = divide.divide(10, 0);
}
}
package org.test;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
/**
* RunWith注解的参数value值必须是一个测试运行器,也就是必须是org.junit.runner.Runner类或其子类。org.junit.runners.Suite是Runner的子类
*
*/
@RunWith(Suite.class)
@Suite.SuiteClasses({AddTest2.class,DivideTest2.class})
public class TestAll1 {
}
package org.test;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
/**
* RunWith注解的参数value值必须是一个测试运行器,也就是必须是org.junit.runner.Runner类或其子类。org.junit.runners.Suite是Runner的子类
*
*/
@RunWith(Suite.class)
@Suite.SuiteClasses({AddTest2.class,DivideTest2.class})
public class TestAll1 {
}
分享到:
相关推荐
JUnit4
java junit4 jar完整包,junit可用来项目的单元测试。
运行junit4所需jar包,包括junit-4.11.jar与 hamcrest-core-1.3.jar
junit4学习文档,有实例,非常详细,不懂的可以参考
赠送jar包:powermock-module-junit4-2.0.9.jar; 赠送原API文档:powermock-module-junit4-2.0.9-javadoc.jar; 赠送源代码:powermock-module-junit4-2.0.9-sources.jar; 赠送Maven依赖信息文件:powermock-...
这是一个junit4测试的jar包,copy进去就可用
junit4教程(《Junit4初探》)
赠送jar包:powermock-module-junit4-common-2.0.9.jar; 赠送原API文档:powermock-module-junit4-common-2.0.9-javadoc.jar; 赠送源代码:powermock-module-junit4-common-2.0.9-sources.jar; 赠送Maven依赖信息...
针对Calculate类 (含加减乘除4个方法),使用junit4进行简单的单元测试例子,含注释~
JUnit4基础文档
在Eclipse中使用JUnit4进行单元测试!
junit4 jar包 Java单元测试框架绿色免费版.zip
因 jdk5 中的新特性,JUnit4 也因此有了很大的改变。下面详细介绍 JUnit4 的使用方法,只是举个例子说明junit4 的使用
在 developerWorks 上面有一些关于 JUnit4 的文章,也有关于 JMock 的文章,但是结合这两项技术的文章基本上没有。本文就基于这两种技术,对单元测试做一个全面的阐述。本文的目的不光是介绍层面的文字,更侧重作者...
JUnit4概述,在Eclipse中使用JUnit4进行单元测试(初级篇、中级篇、高级篇)
JUnit4是JUnit框架有史以来的最大改进,其主要目标便是利用Java5的Annotation特性简化测试用例的编写。
Junit4使用方法
单元测试Junit4 用于java测试开发
这个是junit4 的完整源代码,其中解压以后的文件中找到javadoc那个是文档。
单元测试利器JUnit4