Mocking Fixture

Mocking

테스트 하고자 하는 코드가 의존하는 function이나 class에 대해 모조품을 만들어 일단 돌아가게 하는 것이 목표이다. 단위 테스트를 작성할 때 해당 코드가 의존하는 부분을 가짜(mock)로 대체하는 기법을 이야기한다.

왜 그럼 Mocking을 쓸까?

전체 개발 프로세스 중 기획, 백엔드, 프론트가 있다고 가정할 때,

실질적으로 기획 -> 백엔드 개발 -> 프론트 개발로 보통 이루어 지는데,

현실은 기획 -> 백엔드, 프론트 개발로 진행이 된다.

여기서 더 들어가 프론트와 백엔드가 API를 활용할 때 백엔드 개발에 종속적인 부분이 있다면 프론트는 일시정지된 상태에서 계속 기다려야하는 상황이 발생한다.

그래서 백엔드가 개발을 마칠동안 프론트 딴에서는 미리 Mocking을 활용하여 API가 개발되기 전에 프론트 개발을 마치자라는 목적이라고 생각합니다.

Test Fixture

중복 발생하는 행위를 고정시켜 한 곳에서 관리하는 개념이라고 보면된다. xUnit에서는 테스트 대상 시스템을 실행하기 위해 해줘야 하는 모든 것을 테스트 픽스처(Test Fixture)라고 부른다.

왜 그럼 Fixture를 만들어야 하나?

테스트는 외부 요인의 간섭을 최대한 없앨 필요가 있다. 외부 API 통신 DB 등이 네트워크 이슈로 테스트를 진행 못할 수도 있기 때문이다. 이를 개선하기 위해 변경되지 않은 상태나 데이터를 미리 만들어 두는 작업을 Test Fixture를 만든다고 한다.

Fixture란, 미리 만들어둔 더미 데이터

정리하면 테스트를 위해 변경되지 않은 상태의 객체나 데이터를 만들어 준 것을 Fixture라고 한다.

아래와 같은 방식은 피하는게 좋을 것 같다.

https://jojoldu.tistory.com/611

Last updated