모의 객체(Mock Object)란
주로 객체 지향 프로그래밍으로 개발한 프로그램을 테스트 할 경우, 테스트를 수행할 모듈과 연결되는 실제 외부 모듈들을 사용하지 않고 "가짜" 모듈을 작성하여 테스트의 효용성을 높이는데 사용하는 객체이다.
사용자 인터페이스(UI)나 데이터베이스 테스트 등과 같이 자동화된 테스트를 수행하기 어려울 때 널리 사용된다.
*e.g. 입출력(UI)
사용자 인터페이스(UI) 테스트 :
사용자의 반응이 필요한 테스트를 수행할 경우 사용자가 테스트에 참여해야 하기 때문에 자동화된 테스트를 수행하기가 어렵다.
이럴 경우 모의 객체를 이용해 사용자의 응답을 흉내내어 사용자의 개입 없이도 테스트를 수행할 수 있다.
데이터베이스 테스트 :
자료의 변경을 수반하는 데이터베이스에 대한 작업을 테스트 하는 경우 테스트 수행 후 매번 데이터베이스의 자료를 원래대로 돌려놔야 하는데
이럴 경우 모의 객체를 이용해 데이터베이스의 응답을 흉내내어 데이터의 변경 없이 테스트가 가능하다.
테스트를 통해 개발을 이끌어나가는 방식인 테스트 주도 개발(Test Driven Developement, TDD) 에서는 자동화된 테스트가 필수적인 요소 중의 하나이다.
모의 객체를 이용하면 상당 부분의 테스트를 사용자의 개입 없이 자동화 할 수 있다.
'개발 > JUnit' 카테고리의 다른 글
[JUnit5] 필드 값으로 객체 비교하기 (0) | 2022.12.16 |
---|