@SpringBootTest 테스트 실행 시간 줄이기
컨텍스트 캐싱 스프링부트를 사용해 개발된 애플리케이션은 구동할 때 애플리케이션 컨텍스트와 필요한 것들을 미리 준비하는 시간이 소요됩니다. Junit5 를 사용하여 통합 테스트를 할 때도 역시 테스트용 애플리케이션 컨텍스트를 준비하는 과정이 필요합니다. 실행해야 할 테스트가 10개 있을 때 각 테스트가 실행 될…
컨텍스트 캐싱 스프링부트를 사용해 개발된 애플리케이션은 구동할 때 애플리케이션 컨텍스트와 필요한 것들을 미리 준비하는 시간이 소요됩니다. Junit5 를 사용하여 통합 테스트를 할 때도 역시 테스트용 애플리케이션 컨텍스트를 준비하는 과정이 필요합니다. 실행해야 할 테스트가 10개 있을 때 각 테스트가 실행 될…
이번 글에서는 LocalDateTime.now(ZoneId)이 생각하는 대로 동작하는지 확인하기 위해 테스트 코드를 작성했던 일에 대해서 알아보겠습니다. Java8 부터 제공되는 유틸 클래스인 LocalDateTime이 제공하는 LocalDateTime.now(ZoneId) 메서드는 특정 타임존에 해당하는 현재 시간을 반환합니다. 즉, 고정된 값이 아니라 매 초 다른 값을 반환한다는 것을 의미합니다….
테스트 자동화의 핵심은 개발 소요 시간을 줄이는 것이라고 생각합니다. 개발 업무 중 시간을 효율적으로 쓰려고 노력하다 보니 자연스럽게 테스트 코드를 작성하면서 개발을 진행하는 습관이 생겼습니다. 실제로 낭비되는 시간을 줄이는 데 테스트 자동화가 도움이 되었습니다. 앞으로의 시간을 효율적으로 쓰기 위해 익힐…
RestController 테스트에 대해서 왜 알아둬야 할까요? 조금 공부해두면 여러분의 시간을 아낄 수 있는 무기로 사용할 수 있기 때문입니다. MockMvc을 활용한 RestController 테스트 방법을 익히면, REST API 개발 시 서버를 띄우고 직접 URL을 입력하여 요청을 보내고 응답을 눈으로 일일이 확인하는 일을…
우리는 테스트 코드를 작성할 시간이 없습니다. 기능만 구현하기에도 시간이 부족하다고 생각하기 때문이죠. 테스트 코드를 프로덕션 코드만큼 중요하게 생각하기는 쉽지 않습니다. 모두가 테스트 코드를 프로덕션 코드만큼 중요하게 생각한다면 일정을 산정할 때 테스트 코드 작성에 필요한 비용을 충분히 고려할 텐데, 슬프게도 그런…
단위 테스트(Unit Test)는 ①각각 독립된 하나의 기능을 테스트하면서 ②언제나 같은 결과를 기대할 수 있어야 하고, ③빠르게 결과(성공/실패)를 확인할 수 있어야 하며, ④테스트 스위트 실행 후 결과를 취합할 수 있도록 작성되어야 합니다. 단위 테스트를 작성하다 보면 ②를 만족시키기 위해서 특정 메서드를…