개발자

데이터 흐름의 강력한 결합이 요구되는 서비스의 테스트 자동화는 어떻게 구성하나요?

2023년 02월 23일조회 113

각 서비스마다 복잡하고 다양한 비즈니스 로직이 섞여 있는 큰 서비스 내에서 만약 C 서비스를 테스트 하기 위한 테스트 데이터가 처음 A 서비스에서 만들어져야 하고 그 다음 B 서비스에서 만들어진 후에 C 서비스로 들어와야 테스트가 가능한 구조에서의 단위 테스트 자동화는 어떻게 구성할 수 있을까요? 내가 만든 서비스를 인메모리 DB를 사용해 로컬 테스트 자동화 구성을 하고 싶은데 내가 만든 로직의 테스트는 나온 결과를 가지고 검증이 가능하지만 업무 단위로 보았을 때는 인풋 데이터에 A,B 서비스를 거치지 않은 데이터를 넣지 않는 이상 정당한 데이터인지 판단이 불가능 해서 결국엔 전체 서비스를 기동해서 스텝바이스텝으로 서비스를 거친 후 테스트를 해야하는 상황입니다. 이런 상황에서의 단위 테스트 자동화는 어떻게 구성해야 효율적일까요? 조언 구해봅니다.

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.

답변 2

인기 답변

박준우님의 프로필 사진

TDD를 지향하시면 이미 각 서비스가 만들어지기 전에 테스트들이 만들어져있었겠지만.. 이미 만들어진 상태에서 종속성이 있는 테스트를 할 경우는 Mock 데이터를 이용해서 테스트 합니다. 물론 abc, 각 테스트는 전부 독립적으로 동작해야합니다. 좀 더 자세한 내용은 Test double 을 검색해보시거나 해당 프레임워크 또는 언어의 테스트 방식들의 래퍼런스를 참고하는게 좋을 것 같습니다. https://tecoble.techcourse.co.kr/post/2020-09-19-what-is-test-double/

유근수님의 프로필 사진

단위테스트는 각 서비스별로 데이터를 모킹해서 처리하는게 맞는 것 같습니다. 말씀해주신 a->b->c 의 검증은 추가로 통합테스트 혹은 e2e테스트를 만드셔야 할 것 같고요.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!