JUnit 是 Java 中用于编写和运行单元测试的框架。JUnit 提供了许多注解,用于控制测试的执行顺序、测试生命周期、断言结果等。以下是一些常用的 JUnit 注解及其作用:
@Test
用于标记一个方法是测试方法。
@Test
public void testAddition() {
int result = 1 + 1;
assertEquals(2, result); // 断言结果是否为 2
}
@BeforeEach
在每个测试方法执行前运行。常用于初始化测试环境。
@BeforeEach
public void setup() {
System.out.println("Before each test");
}
@AfterEach
在每个测试方法执行后运行。常用于清理测试环境。
@AfterEach
public void tearDown() {
System.out.println("After each test");
}
@BeforeAll
在所有测试方法执行之前运行一次,通常用于静态初始化。
@BeforeAll
public static void init() {
System.out.println("Before all tests");
}
@AfterAll
在所有测试方法执行之后运行一次,通常用于释放资源。
@AfterAll
public static void cleanup() {
System.out.println("After all tests");
}
@Disabled
用于禁用某个测试方法或类。
@Test
@Disabled("Test is under development")
public void testDisabled() {
// 该测试方法不会执行
}
@ParameterizedTest
用于参数化测试,允许为测试方法传递多组参数。
@ParameterizedTest
@ValueSource(ints = {1, 2, 3, 4})
public void testWithParameters(int number) {
assertTrue(number > 0);
}
@Tag
用于对测试进行分类,可以通过标签选择性地运行测试。
@Test
@Tag("fast")
public void fastTest() {
// 快速测试
}
enum
关键字定义枚举类型。public enum Day {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY;
}
Day day = Day.MONDAY; // 使用枚举
values()
:获取所有枚举常量。ordinal()
:返回枚举常量的序号(从0开始)。valueOf(String name)
:根据名称获取枚举值。for (Day d : Day.values()) {
System.out.println(d + " at index " + d.ordinal());
}
Day friday = Day.valueOf("FRIDAY");
枚举可以包含字段和方法,每个常量可以有独特的属性和行为。
public enum TrafficLight {
RED("Stop"), GREEN("Go"), YELLOW("Caution");
private final String action;
TrafficLight(String action) {
this.action = action;
}
public String getAction() {
return action;
}
}
System.out.println(TrafficLight.RED.getAction()); // Stop
switch
语句switch (day) {
case MONDAY -> System.out.println("Start of the week");
case FRIDAY -> System.out.println("End of the workweek");
default -> System.out.println("Middle of the week");
}
每个枚举常量可以实现抽象方法。
public enum Operation {
ADD {
public int apply(int a, int b) { return a + b; }
},
SUBTRACT {
public int apply(int a, int b) { return a - b; }
};
public abstract int apply(int a, int b);
}
System.out.println(Operation.ADD.apply(2, 3)); // 5
Day
、Color
、HttpStatus
)。优点:
喜欢这期内容的话,别忘了点个赞,关注博主,这样就不会错过任何更新啦!还有,收藏一下,方便以后回顾哦!