JUnit Platform是底层的测试执行引擎,JUnit Jupiter是JUnit 5的主要测试框架,而JUnit Vintage允许在JUnit 5平台上运行旧版本的测试。
所以想要使用junit5,必须包含platform和jupiter。
JUnit Platform
├── JUnit Jupiter
└── JUnit Vintage
//常用注解测试
@DisplayName("Common annotation test")
public class AnnotationsTest {private static Add add;@BeforeAllpublic static void beforeAll() {add=new Add();//在所有测试方法运行前运行System.out.println("Run before all test methods run");}@BeforeEachpublic void beforeEach() {//每个测试方法运行前运行System.out.println("Run before each test method runs");}@AfterEachpublic void afterEach() {//每个测试方法运行完毕后运行System.out.println("Run after each test method finishes running");}@AfterAllpublic static void afterAll() {//在所有测试方法运行完毕后运行System.out.println("Run after all test methods have finished running");}@Disabled@Test@DisplayName("Ignore the test")public void disabledTest() {//这个测试不会运行System.out.println("This test will not run");}@Test@DisplayName("Test Methods 1+1")public void testAdd1() {System.out.println("Running test method1+1");Assertions.assertEquals(2,add.add(1,1));}@Test@DisplayName("Test Methods 2+2")public void testAdd2() {System.out.println("Running test method2+2");Assertions.assertEquals(4,add.add(2,2));}}
常用断言
assertEquals
检查两个值是否相等。
assertEquals(expected, actual);
assertNotEquals
检查两个值是否不相等。
assertNotEquals(notExpected, actual);
assertTrue 和 assertFalse
验证条件是否为真或为假。
assertTrue(condition);
assertFalse(condition);
assertNull 和 assertNotNull
验证值是否为 null 或不为 null。
assertNull(nullValue);
assertNotNull(nonNullValue);
assertArrayEquals
检查两个数组是否相等。
assertArrayEquals(expectedArray, actualArray);
assertThrows
验证是否抛出了期望的异常。
assertThrows(ExpectedException.class, () -> {
// 代码块,期望抛出 ExpectedException 异常
});
assertDoesNotThrow
验证没有抛出异常。
assertDoesNotThrow(() -> {
// 代码块,不应该抛出任何异常
});
assertSame 和 assertNotSame:
验证两个对象是否是同一个引用或不是同一个引用。
assertSame(expectedObject, actualObject);
assertNotSame(notExpectedObject, actualObject);