不是说beforeClass方法只会执行一次吗?怎么他跟before或after的方法一样,每次都执行啊?
看测试代码: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
afterbeforeClass 和 afterClass到底怎么理解?
看测试代码: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
afterbeforeClass 和 afterClass到底怎么理解?
beforeClass 是类加载的时候执行,before在测试方法执行前执行。
你双击test方法,当这个方法运行完以后,你的类实例已经销毁了。再运行tes2() 类需要重新加载,所以BeforeClass又会继续执行
@before:初始化方法@After:释放资源
@Test:测试方法,在这里可以测试期望异常和超时时间
@Ignore:忽略的测试方法
@BeforeClass:针对所有测试,只执行一次,且必须为static void
@AfterClass:针对所有测试,只执行一次,且必须为static void
一个JUnit 4 的单元测试用例执行顺序为:
@BeforeClass –> @Before –> @Test –> @After –> @AfterClass
每一个测试方法的调用顺序为:
@Before –> @Test –> @After