2014년 2월 6일 목요일

TDD Test Double이란...

1. Test Double

- 테스트를 수행하기 위해서 실제 컴포넌트 역할을 대체하는 기능을 가진 객체나 컴포넌트를 말한다.

2. Test Double 분류

  • Dummy Object : 가장 기본적인 유형으로, 매개 변수 값과 같이 작업을 수행하는 메소드가 없는, 값 전달만을 위한 객체를 말한다.
  • Test Stub : 아직 개발되지 않은 클래스나 메소드가 처리 후 리턴해야 하는 값을 전달해주는 역할을 한다. 대부분 그 값은 하드 코딩되어 있다. 
  • Test Spy : Stub과 비슷하지만, 어떤 작업을 수행했는지에 대한 이력을 남긴다는 점이 다르다. Stub과 같은 역할을 하는 척하지만 이름 그대로 스파이 같은 행동을 한다. 
  • Mock Object : Dummy, Stub, Spy를 통합해 놓은 것과 비슷하다 볼수 있다. 보통 라이브러리를 사용하여 동적으로 데이터를 처리해줄 부분을 생성한다. 즉, Stub기능에 검증(assertion) 기능을 추가한 형태라고 생각하면 된다. 
  • Fake Object : 테스트에 직접적인 연관은 없지만, 테스트하고자 하는 시스템과 연계되는 시스템이 너무 느리거나, DB가 아직 구성되지 않았을 경우에 해당 부분이 실제 존재하는 것처럼 하는 부분을 말한다. 

 

댓글 없음:

댓글 쓰기