Code Coverage TDD를 실천하기 위한 방법 중 하나입니다. 소프트웨어의 테스트 케이스가 얼마나 충족되었는지를 나타내는 지표 중 하나입니다. 코드 커버리지는 소스코드를 기반으로 수행하는 화이트 박스 테스트를 통해 측정합니다. 블랙 박스 테스트 소프트웨어의 내부 구조나 작동 원리를 모르는 상태에서 동작을 검사하는 방식 올바른 입력과 올바르지 않은 입력을 입력하여 옳바른 출력이 나오는지 테스트하는 기법 사용자 관점의 테스트 방법 화이트 박스 테스트 응용 프로그램의 내부 구조와 동작을 검사하는 테스트 방식 소프트웨어 내부 소스 코드를 테스트 하는 기법 개발자 관점의 단위테스트 방법 측정기준 구문(Statement) 라인 커버리지라고 부릅니다. 프로덕션 코드의 전체 구문 중 몇 줄의 구문이 실행되었는지..
@ExtendWith 확장 기능을 구현한 클래스를 실제로 테스트에 사용하는 방법 중 하나입니다. SpringTest Context 프레임워크와 Junit5를 통합해 사용할 때는 SpringExtension.class와 함께 사용합니다. Mockito와 Junit5를 통합해 사용할 때는 MockitoExtension.class와 함께 사용합니다. @ExtendWith(RestDocumentationExtension.class) public class RestDocsTestSupport extends ControllerTest { @Autowired protected RestDocumentationResultHandler restDocs; ... } 저는 REST Docs 설정을 공통적으로 사용하기 위해 확..
@Mock란 단위테스트 시, 모의 클래스를 만들 때 사용합니다. 서비스나 컨트롤러 단위 테스트를 할때 여러 제한적인 상황이 있습니다. 레포지토리와 의존성을 어떻게 해결할지, DB연동을 하지 않고 어떻게 분리해서 테스트를 할지 고민을 하게 됩니다. 이럴 때 편리함을 주는 어노테이션이 @Mock입니다. @Test @DisplayName("가장 많이 저장된 맛집 조회") public void get_fav_rests_ranking_most_save() throws Exception { RestRepository restRepository = Mockito.mock(RestRepository.class); RankingRestaurantService rankingRestaurantService = new Ran..