BackEnd/JUnit
JUnit 5. Assertion
hanseom
2022. 1. 30. 17:05
반응형
import static org.junit.jupiter.api.Assertions.*;
- assertEqulas(expected, actual): 실제 값과 기대한 값이 같은지 확인합니다.
- assertNotNull(actual): 값이 null이 아닌지 확인합니다.
- assertTrue(boolean): 조건이 참(true)인지 확인합니다.
- assertAll(executables...): 모든 구문을 확인합니다. (기본적으로 예외 발생 시 더이상 실행이 되지 않습니다.)
- assertThrows(expectedType, executable): 예외가 발생되었는지 확인합니다.
- assertTimeout(duration, executable): 특정 시간 안에 실행이 완료되었는지 확인합니다.
package com.java.JUnit5;
import org.junit.jupiter.api.*;
import org.springframework.boot.test.context.SpringBootTest;
import java.time.Duration;
import static org.junit.jupiter.api.Assertions.*;
@SpringBootTest
class AssertionTests {
@Test
void contextLoads() {
Start start = new Start(1);
assertEquals(Status.STARTED, start.getStatus(), "상태가 맞지 않습니다."); // 테스트 실패 시 message 출력
System.out.println("예외 발생 시 더이상 수행되지 않습니다.");
assertNotNull(start);
assertTrue(start.getLimit() > 0);
}
@Test
void assertAllTest() {
Start start = new Start(1);
assertAll(
() -> assertEquals(Status.STARTED, start.getStatus(), "상태가 맞지 않습니다."),
() -> assertNotNull(start),
() -> System.out.println("모든 구문을 확인합니다."),
() -> assertTrue(start.getLimit() > 0)
);
}
@Test
void assertThrowTest() {
IllegalArgumentException exception = assertThrows(IllegalArgumentException.class, () -> new Start(-1));
String message = exception.getMessage();
assertEquals("limit은 0보다 커야합니다.", message);
}
@Test
void asesrtTimeoutTest() {
assertTimeout(Duration.ofSeconds(1), ()-> {
new Start(1);
Thread.sleep(1100);
});
}
}
[참고]
반응형