在junit4中还有的测试注解有: @beforeclass ,@before,@test,@after,@afterclass
1、其中:@beforeclass,@afterclass是junit4中新添加进去的
2、如果run as --->junit test,运行含有@test注释的方法是,那么所有注解方法都将被执行,所含的执行顺序是:
@beforeclass ,@before,@test,@after,@afterclass
3、在junit4中,如果测试类继承了testcase类,那么所有的annotation都不会起作用。
4、案例:
package cn.edu.hactcm.testjunit;
import java.util.uuid;
import org.junit.after;
import org.junit.afterclass;
import org.junit.before;
import org.junit.beforeclass;
import org.junit.test;
/**
* cfms :computer files management system
* version :1.0 2013-2-19 下午01:26:04
*
* 此类用于测试单元测试中的几个方法
*/
public class testjunit {
private string flag;
/**
* 在本类加载前执行,注意的是有关键字:static
*/
@beforeclass
public static void testbeforeclass() {
system.out.println("public static void testbeforeclass()");
}
* 在执行目标测试方法testtest()前执行
@before
public void testbefore() {
system.out.println("-------------------------------------");
system.out.println("public void testbefore()");
flag = uuid.randomuuid().tostring();
* 目标测试方法testtest()
@test
public void testtest() {
system.out.println("public void testtest()");
system.out.println(flag);
flag = null;
* 目标测试方法testtest2()
public void testtest2() {
system.out.println("public void testtest2()");
* 在执行目标测试方法testtest()执行
@after
public void testafter() {
system.out.println("public void testafter()");
* 在本类加载后执行,注意的是有关键字:static
@afterclass
public static void testafterclass() {
system.out.println("public static void testafterclass()");
}
只执行testtest()方法后的结果为:
public static void testbeforeclass()
-------------------------------------
public void testbefore()
public void testtest()
993ea4ea-3626-4caa-9976-07203a8b7475
public void testafter()
null
public static void testafterclass()
第二种写单元测试的方法是:
package cn.com.css.misps.composite.dao.impl;
import static org.junit.assert.fail;
import java.util.list;
import javax.annotation.resource;
import org.junit.runner.runwith;
import org.springframework.test.context.contextconfiguration;
import org.springframework.test.context.junit4.springjunit4classrunner;
import cn.com.css.common.util.dateutil;
import cn.com.css.misps.composite.dao.iindexdao;
import cn.com.css.misps.domain.ttaskstate;
* @brief indexdaoimpltest.java indexdaoimpl的测试类
* @attention
* @author 涂作权
* @date 2014-1-26
* @note begin modify by null
@runwith(springjunit4classrunner.class)
@contextconfiguration(locations="classpath:applicationcontext.xml")
public class indexdaoimpltest {
@resource(name="indexdao")
private iindexdao indexdao;
public void testquerylatestissueproduct() {
list<ttaskstate> taskstates = indexdao.querylatestissueproduct(dateutil.getstarttimeofday(), dateutil.getstarttimeofday(), 10);
for (ttaskstate taskstate : taskstates) {
system.out.println(taskstate.getcode());
}
public void testqueryproductinfobycodeandlastmaketime() {
fail("not yet implemented");
public void testquerytmispsproductpage() {
public void testqueryfirsttmispsproductpage() {
上面的方式可以用于ssh项目中