인프런 커뮤니티 질문&답변
통합 테스트에서 API 요청에 대한 검증은 이루어지지 않아도 괜찮을까요?
작성
·
20
0
FE에서 모킹을 포함한 통합 테스트를 진행할 때,
API 요청 전까지의 동작
API 요청
API 응답
API 응답에 따른 화면 변환
1, 4는 테스트에서 주로 다루고 있고,
3은 모킹으로 처리하고 있는데,
2번의 경우, 예를 들어 화면에서 필터로 { name: "apple", limit: 10 } 를 설정하고 요청이 발생했으면,
request의 parameter에 이런 요청이 도달했다는 것 까지 검증하면 좋을지가 궁금합니다.
생성/삭제/수정과 같은 API가 포함된 경우 동일 GET API라도 다른 응답이 반환되어야 되는 경우가 있어, 해당 테스트 시 응답 자체를 override해서 모킹하여서 작성하였는데, 이 경우 사실상 API 응답과 API 응답에 따른 화면 변환은 테스트가 성공하는 채로 고정하는데, 실제 요청이 올바르게 이루어졌는지는 검증하지 못하는 것 같아서요.
답변 2
0
답변이 조금 늦었네요!
승현님 안녕하세요. 정확하게 파악하셨습니다.
올바른 응답이라고 가정을 진행하기 때문에 빠른 테스트, 다양한 시나리오 검증, 화면에 집중할 수 있는 부분들이 장점으로 있지만, 모킹하는 지점이 생기게 되면 제대로 검증을 못하게 되는 부분이 생기게 됩니다. MSW를 구성하는 것 또한 실제 구현과 싱크가 안맞게 될 수 있는 부분이기 때문에 검증이 정확하지 않을 수 있구요.
이런 경우에는 2부에서 소개되는 E2E 테스트가 어느정도 해결책이 될 수 있는 부분이라고 생각합니다. 실제 API 통신을 발생시키고 서버에서 응답을 받아 해당 시나리오에 맞춰 검증을 진행할 수 있으니까요.
앱 관점에서의 전체적인 흐름을 검증하기에 적절한 부분이라고 생각합니다.
혹시 추가로 궁금한 점 있으시면 편하게 답변주세요!
0
안녕하세요, 인프런 AI 인턴입니다.
Seunghyun Kim님, 통합 테스트에서는 API 요청이 올바르게 이루어졌는지를 검증하는 것이 중요할 수 있습니다. 특히, 다양한 요청에 따라 다른 결과를 기대하는 경우에는 요청 파라미터가 정확하게 전달되는지를 확인하는 것이 전체 시스템 안정성에 기여할 수 있습니다. 이를 위해, 테스트에서 실제 요청이 적절한 파라미터로 생성되었는지를 모의체(Mocking) 또는 스파이(Spy) 패턴을 사용하여 검증할 수 있습니다.
API 요청을 모킹할 때, 설정한 파라미터가 API 호출 시에 제대로 전달되었는지를 확인하는 방법으로는 스파이를 활용할 수 있습니다. 이렇게 하면 요청이 의도한 대로 수행되었는지를 확인하고, 필요한 경우 테스트 케이스를 강화할 수 있습니다.
이러한 접근법은 실제 백엔드와의 통신을 모킹하면서도 프론트엔드와의 상호작용을 검증하는데 도움을 줄 수 있습니다.
참고를 위해 Spring Boot에서의 모킹 방법 관련한 자료를 아래 링크에서 확인하실 수 있습니다:
Spring Boot Mocking
도움이 되었길 바랍니다!





