336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

Mock Object를 이용한 테스트 (행위기반의 테스트 케이스)

Mock Object는 어떤 한 부분을 대신하는 가짜 객체이다. 대부분 모듈이 가진 의존성에 의해 Mock Object를 사용하는 주요 원인이며, 아래와 같은 경우에 사용하게 된다.

  1. 특정 환경을 구축하는데 많은 시간이 소요되는 경우 (메일 서버 연동을 위하여 DB 및 모듈 설치 등의 많은 작업이 소요 되는 경우)
  2. 특정 모듈을 사용하기 위한 여건이 부족한 경우 (미구현된 모듈 및 버그 모듈등)
  3. 타 시스템과의 연계되는 모듈 (타 시스템의 요청 결과에 따라 움직이는 모듈의 경우)
  4. 특정 상황을 만족해야만 사용 가능한 모듈 (인쇄 실패시 처리 모듈등)
  5. 테스트 시간 단축을 위하여 사용 (네트워크 간 연동 모듈 테스트시 접속하는데 시간이 많이 소요 되는 경우)

Test Double를 이용한 테스트 (상태기반의 테스트 케이스)
'테스트를 수행하기 위해서 실제 컴포넌트 역할을 대체하는 기능을 가진 객체나 컴포넌트'
본래의 객체를 이용하여 Mock 객체를 만들어 낸것
  1. Dummy Object : 인스턴스화 될 수 있을 정도로만 구현한 객체 (기능 사용X) , 메소드를 사용하지 않는 객체
  2. Test Stub :  Dummy Object각 실제로 동작하는 것처럼 보이게 만든 객체로, 메소드를 호출하면 동작을 하긴 하나 반환은 기본값을 반환하게끔 구성, 인스턴스화 + 상태를 표현하는 경우에 해당됨, 객체의 특정 상태를 가정해서 만들어 놓은 단순 구현체, 하드 코딩되어 있기 때문에 로직이 들어가는 부분은 테스트 할 수 없다.
  3. Fake Object : 여러개의 인스턴스를 대표하는 경우 혹은 구현이 들어가는 경우 (DB 조회 결과를 반환하는 Fake Object는 실제 DB를 조회 하지 않으나 가상의 테이터를 생성하여 반환하도록 구성)
  4. Test Spy : 테스트에 사용되는 객체에 대해서 호출여부를 감시하거나 정보를 주기 위한 목적의 객체


참고 URL:

http://egloos.zum.com/kingori/v/4169398


블로그 이미지

뚱땡이 우주인

,