본문 바로가기
반응형

@WebMvcTest2

[JUnit] 스프링부트 + junit5 환경에서 MockMvc로 컨트롤러 테스트하기 Mock이란? 사전적 의미로 '테스트를 위해 만든 모형'을 의미하고, 테스트를 위해 실제 객체와 비슷한 모의 객체를 만드는 것을 모킹(Mocking), 모킹한 객체를 메모리에서 얻어내는 과정을 목업(Mock-up)이라 한다. Mock의 필요성 객체를 테스트하려면 테스트 대상 객체가 메모리에 있어야 한다. 하지만 생성하는 데 복잡한 절차가 필요하거나 많은 시간 이 소요되는 객체가(ex. 서비스레이어) 있을 수 있고, 웹 어플리케이션의 컨트롤러처럼 WAS나 다른 소프트웨어의 도움이 반드시 필요한 객체도 있을 수 있다. 이러한 복잡한 객체를 테스트하기 위해 실제 객체와 비슷한 가짜 객체를 만들어 테스트에 필요한 기능만 기지도록 모킹하면 테스트가 쉬워진다. 또한 복잡한 의존성을 가지고 있을 때, 모킹한 객체를 .. 2021. 4. 29.
[Spring Boot] 스프링 부트에서 테스트 코드와 롬복(lombok) 사용하기 스프링 부트에서 테스트 코드와 롬복(lombok) 사용하기 테스트 코드는 말 그대로 프로그램을 만들기 위해 작성한 소스코드를 테스트하는 코드입니다. 이러한 테스트 코드는 단위(Unit)테스트를 위해 작성됩니다. 단위 테스트는 소스 코드의 특정 모듈 즉, 특정 함수와 메소드가 의도된 대로 정확히 작동하는지 검증하는 절차입니다. 🌈단위 테스트를 위한 테스트 코드를 작성해야 하는 이유는 다음과 같습니다. 1.단위 테스트는 개발단계 초기에 문제를 발견하게 도와줍니다. 2.단위 테스트는 개발자가 나중에 코드를 리팩토링하거나 라이브러리 업데이트 등의 작업을 할 때 기존 기능이 올바르게 작동하는지 확인할 수 있습니다. 3.단위 테스트는 기능에 대한 불확실성을 감소시킬 수 있습니다. 4.단위 테스트는 시스템에 대한 실.. 2021. 1. 5.
반응형