
@BeforeEach
void setUp() {
System.out.println("각각의 테스트 코드가 실행되기 전에 수행");
}
@AfterEach
void tearDown() {
System.out.println("각각의 테스트 코드가 실행된 후에 수행\n");
}
@BeforeAll
static void beforeAll() {
System.out.println("모든 테스트 코드가 실행되기 전에 최초로 수행\n");
}
@AfterAll
static void afterAll() {
System.out.println("모든 테스트 코드가 수행된 후 마지막으로 수행");
}
@Test
@DisplayName("테스트의 내용을 한눈에 알아보기 쉽게 이름을 지을 수 있습니다.)
void test1(){
System.out.println("테스트 내용을 쉽게 파악할 수 있습니다.");
}
@Nested
@DisplayName("주제 별로 테스트를 그룹지어서 파악하기 좋습니다.")
@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
class Test1 {
@Order(1)
@Test
@DisplayName("Test1 클래스")
void test() {
System.out.println("\nTest1 클래스");
}
@Order(3)
@Test
@DisplayName("Test1 - test1()")
void test1() {
System.out.println("Test1.test1");
}
@Order(2)
@Test
@DisplayName("Test1 - test2()")
void test2() {
System.out.println("Test1.test2");
}
}
@Nested
@DisplayName("Test2 다른 주제")
class Test2 {
@Test
@DisplayName("Test2 - test1()")
void test1() {
System.out.println("Test2.test1");
}
@Test
@DisplayName("Test2 - test2()")
void test2() {
System.out.println("Test2.test2");
}
}
@RepeatedTest(value = 5, name = "반복 테스트 {currentRepetition} / {totalRepetitions}")
void repeatTest(RepetitionInfo info) {
System.out.println("테스트 반복 : " + info.getCurrentRepetition() + " / " + info.getTotalRepetitions());
}
@DisplayName("파라미터 값 활용하여 테스트 하기")
@ParameterizedTest
@ValueSource(ints = {1, 2, 3, 4, 5, 6, 7, 8, 9})
void parameterTest(int num) {
System.out.println("5 * num = " + 5 * num);
}
Assertions.assertEquals(expected, actual)
- assertEquals() 메서드는 첫 번째 파라미터에 예상값을 넣고 번째 파라미터에 테스트 결과값 (실제값)을 넣어줍니다
- 예상값과 실제값이 다르면 테스트가 실패합니다.
- 3번째 파라미터 값에 람다식으로 메시지를 넣어두면 테스트 실패 시 해당 메시지가 출력됩니다. (Supplier() )
Assertions.assertTrue(boolean)
- assertTrue()메서드는 해당 파라미터 값이 true인지 확인합니다.
Assertions.assertNotNull(actual)
- assertNotNull()메서드는 해당 파라미터 값이 null이 아님을 확인합니다.
Assertions.assertThrows(expectedType, executable)
- assertThrows()메서드는 번째 파라미터에 예상하는 Exception 클래스 타입을 넣고 두번째 파라미터에 실행 코드를 넣으면 됩니다.
public void update(CommentRequestDto commentRequestDto) {
this.comment = commentRequestDto.getComment();
}
public void update(String comment) {
this.comment = comment;
}