프로그래머의 실력은 단위 테스트를 얼마나 잘 작성하느냐에 따라서도 나뉠 수 있다!
단위 테스트를 왜 해야 할까?
테스트를 수행하는 방법
1. 전체 애플리케이션을 빌드 (통합 테스트)
2. 메소드별로 단위를 나눠서 테스트 (단위 테스트)
메소드의 매개변수 값을 다르게 할당하며, 결과값이 예상하는 값과 일치하는지를 확인한다.
Java에서 가장 잘 쓰이는 단위 테스트 프레임워크는 JUnit과 Mockito가 있다.
JUnit은 통합, 단위 테스트 모두 가능
테스트, 어떻게 하나요?
src/test 폴더에서 JUnit Test Case를 생성합니다.
New JUnit Jupiter(JUnit 5) test
이때, 일반적으로 테스트 파일명은 테스트 대상의 클래스 + Test를 붙여 만듭니다.
ex. User 클래스를 테스트한다면 UserTest로 생성
@SpringBootTest
class RestfulWebServicesApplicationTests {
@Test
void contextLoads() {
}
}
보통 프로젝트를 생성하면 위처럼 Application 클래스의 테스트 파일은 미리 생성되어 있습니다.
테스트 로직을 간단하게 설명하자면,
expectedResult에 특정 단위(메소드)의 예상값(예상대로 나와야 하는 값)을 설정하고, result에는 해당 메소드의 실제 결과값을 넣어 assertEquals(expectedResult, result)로 비교를 한다.
두 값이 같지 않다면 오류 메세지가 나와 어떠한 메소드가 잘못되었는지를 더욱 자세히 알 수 있다..!