Spring Boot/testing
단위 테스트 기본
최-코드
2024. 11. 8. 22:33
구조
- Set Up : 테스트할 클래스의 인스턴스 생성 + 테스트 값(기댓값) 생성
- Execute : 실제로 테스트할 메서드 호출
- Assert : 결과를 확인하고, 예상한 값과 일치하는지 검증
@Test : 테스트로 사용할 메소드 위에 꼭 붙여줘서 JUnit이 이 메서드를 테스트 메소드로 인식하게 해준다. 테스트 메소드의 이름은 아무거나 상관없다.
example
class DemoUtilsTest {
@Test
void testAdd() {
//set up
DemoUtils demoUtils = new DemoUtils();
int expected = 6;
//execute
int actual = demoUtils.add(2, 4);
//assert
Assertions.assertEquals(expected, actual, "2+4 must be 6");
}
}
Assertions : assert를 위한 메소드가 들어있는 클래스이다.
- assertEquals(1, 2, 3) : 1에는 기대되는 값이고 2에는 실제 계산된 값을 넣어준다. 선택적으로 3에 실패했을 때 메세지를 넣을 수 있다.
- assertNotEquasl(1, 2, 3) : 1에는 기대되지 않는 값을 넣고 2와 3은 assertEquals와 같다. 1과 2의 값이 다르면 메소드가 성공적으로 실행을 마친다.
- assertNull(1, 2) : 1에는 실제 계산된 값을 넣어주고 2에는 테스트가 실패했을 때의 메세지를 넣어준다.
- assetNotNull(1, 2) : assertNull과 같은 인자의 형태이다. assertNull과 다르게 1에 넣어준게 null이 아니어야 테스트가 성공적이다.