Test Doubles - Mocking, Stubbing, Faking

June·2023년 2월 7일
0

iOS-UnitTest

목록 보기
2/2
post-thumbnail

Mocking

실제 객체의 동작을 시뮬레이션.
특정 메서드 호출 또는, 속성을 확인할 수 있도록 객체에 대한 메서드 호출에 대한 가짜 응답.
예를 들어 이메일을 보내는 시스템이 있다고 하면, 단위 테스트에서 실제로 유저에게 이메일을 보내지 않는다.

Stubbing

테스트 중인 기능에 대한 예측 가능한 입력 생성.
무언가에 대해 미리 준비된 답변을 제공.
예를 들어 프로토콜을 만들고 프로토콜에 일부 기능이 필요하도록 한다던가, 어떤 데이터를 얻기 위해 DB를 호출하는 대신 반환할 데이터로 구성된 stub을 미리 구성해 놓는 것.

Faking

프로덕션과는 다른 작업 구현.
프로덕션에 사용되지 않는 클래스 작업 구현.
예를 들면 데이터 액세스 객체 또는 리포지토리의 메모리 내 임의 구현. 이 거짓 구현은 DB를 사용하지 않고 데이터를 저장하기 위해 간단한 컬렉션을 사용할 것이고, 이것을 통해 DB를 통하지 않고 서비스 통합 테스트 수행 가능.

profile
안다고 착각하지 말기

0개의 댓글