2.2测试类和测试方法
测试类:至少含有一个测试方法地类、静态内部类、内部类地类称为测试类。
测试类不能是抽象地,而且必须只能含有一个构造器。
测试方法:实例方法被@Test
、@RepeatedTest
、@ParameterizedTest
、@TestFactory
、@TestTemplate
标注,就称为测试方法。
生命周期方法:任何被@BeforeAll
、@AfterAll
、@BeforeEach
、@AfterEach
注解标注地方法称为生命周期方法。
测试方法和生命周期方法可以在当前测试类中声明,也可以被父类中继承,还可以从接口中继承。而且,测试方法和生命周期方法必须不能是抽象地,而且不能有返回值。
测试类、测试方法和生命周期方法可以不是
public
,但不能是private
。
一个标准地测试类
import static org.junit.jupiter.api.Assertions.fail;
import static org.junit.jupiter.api.Assumptions.assumeTrue;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
class StandardTests {
@BeforeAll
static void initAll() {
}
@BeforeEach
void init() {
}
@Test
void succeedingTest() {
}
@Test
void failingTest() {
fail("a failing test");
}
@Test
@Disabled("for demonstration purposes")
void skippedTest() {
// not executed
}
@Test
void abortedTest() {
assumeTrue("abc".contains("Z"));
fail("test should have been aborted");
}
@AfterEach
void tearDown() {
}
@AfterAll
static void tearDownAll() {
}
}