首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

junit4 beforeClass方法每次都执行,该如何解决

2012-02-21 
junit4 beforeClass方法每次都执行不是说beforeClass方法只会执行一次吗?怎么他跟before或after的方法一样

junit4 beforeClass方法每次都执行
不是说beforeClass方法只会执行一次吗?怎么他跟before或after的方法一样,每次都执行啊?
看测试代码:

Java code
import org.junit.After;import org.junit.AfterClass;import org.junit.Before;import org.junit.BeforeClass;import org.junit.Test;public class JustTest {    @BeforeClass    public static void beforeClass() {        System.out.println("before class");    }        @Before    public void before() {        System.out.println("before");    }        @Test    public void test() {        System.out.println("test");    }        @Test    public void test2() {        System.out.println("test2");    }        @After    public void after() {        System.out.println("after");    }        @AfterClass    public static void afterClass() {        System.out.println("after class");    }        @Before    public void beforeAgain() {        System.out.println("before again");    }}


我双击test方法 运行结果为:
before class
before
before again
test
after
after class

运行test2方法 运行结果为:
before class
before
before again
test2
after
after class

在这里,运行结果不是应该为
before
before again
test2
after

beforeClass 和 afterClass到底怎么理解?

[解决办法]

beforeClass 是类加载的时候执行,before在测试方法执行前执行。
你双击test方法,当这个方法运行完以后,你的类实例已经销毁了。

再运行tes2() 类需要重新加载,所以BeforeClass又会继续执行

热点排行