JUnit 5의 내장 어설션은 다음 범주로 나눌 수 있습니다.
은 단일 값의 간단한 검증을 수행하는 데 사용됩니다. 예:
Method | Description |
---|---|
assertEquals | 두 객체 또는 두 기본 유형이 동일한지 확인 |
assertNotEquals | 두 객체 또는 두 객체가 동일한지 확인 기본 유형은 동일하지 않습니다 |
assertSame | 두 개체 참조가 동일한 개체를 가리키는지 확인 |
assertNotSame | 두 개체 참조가 서로 다른 개체를 가리키는지 확인 |
assertTrue | 주어진 부울 값이 true인지 확인 |
assertFalse | 주어진 부울 값이 false인지 확인 |
assertNull | 주어진 개체 참조가 null인지 확인 |
assertNotNull | 주어진 개체 참조가 null이 아닌지 확인 |
JTest5
package com.limi.springboottest2; import org.junit.jupiter.api.*; import org.springframework.boot.test.context.SpringBootTest; import static org.junit.jupiter.api.Assertions.*; @SpringBootTest public class JTest5 { @Test public void simple() { assertEquals(3, 1 + 2, "simple math"); System.out.println(1); assertNotEquals(3, 1 + 1); System.out.println(2); assertNotSame(new Object(), new Object()); System.out.println(3); Object obj = new Object(); assertSame(obj, obj); System.out.println(4); assertFalse(3 > 2); System.out.println(5); assertTrue(1 < 2); System.out.println(6); assertNull(null); System.out.println(7); assertNotNull(new Object()); System.out.println(8); } }
assertion이 false로 판단되면 예외 발생 후 프로그램이 즉시 종료되고 나머지 코드는 실행되지 않습니다.
assertArrayEquals 메소드를 사용하여 두 객체를 판단하거나 기본 유형의 배열이 동일한지 여부.
//不相等抛出异常 @Test public void array() { assertArrayEquals(new int[]{1, 2}, new int[] {1, 2, 3}); }
assertAll() 메서드는 검증할 주장으로 org.junit.jupiter.api.Executable 기능 인터페이스의 여러 인스턴스를 허용합니다. 이러한 주장은 람다 식을 통해 쉽게 제공될 수 있습니다.
//除非填写的断言都为真, 否则抛出异常 @Test public void all() { assertAll("Math", () -> assertEquals(2, 1 + 1), () -> assertTrue(1 > 5), () -> assertNotNull(null) ); }
두 번째 주장이 false인 경우에도 세 번째 주장은 여전히 실행됩니다. 즉, AssertAll() 메서드 b에 채워진 주장이 실행되고 JUnit4에서 판단됩니다
@Test public void exceptionTest() { ArithmeticException exception = Assertions.assertThrows( //当没有异常时, 扔出断言异常 ArithmeticException.class, () -> System.out.println(5/ 2)); }
5. 시간 초과 어설션
@Test@DisplayName("超时测试")public void timeoutTest() { //如果测试方法执行时间超过设置的时间将会抛出异常 Assertions.assertTimeout(Duration.ofMillis(1000), () -> Thread.sleep(5000)); }
6. 빠른 실패
@Test public void shouldFail() { System.out.println("123456"); fail("This should fail"); System.out.println("888888"); }
위 내용은 SpringBoot 어설션 메커니즘의 원리는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!