나는 종교적으로 TDD를 따릅니다. 내 프로젝트는 일반적으로 의미있는 테스트 사례와 함께 85 % 이상의 테스트 범위를 갖습니다.
저는 HBase 와 많은 작업을 수행 하고 있으며 주요 클라이언트 인터페이스 인 HTable은 조롱하기가 매우 어렵습니다. 라이브 엔드 포인트를 사용하는 테스트를 작성하는 것보다 단위 테스트를 작성하는 데 3-4 배 더 걸립니다.
철학적으로 모의를 사용하는 테스트는 실제 엔드 포인트를 사용하는 테스트보다 우선해야한다는 것을 알고 있습니다. 그러나 HTable을 조롱하는 것은 심각한 고통이며 실제 HBase 인스턴스에 대한 테스트보다 이점을 제공한다는 것이 확실하지 않습니다.
우리 팀의 모든 직원은 워크 스테이션에서 단일 노드 HBase 인스턴스를 실행하고 Jenkins 상자에서 단일 노드 HBase 인스턴스를 실행하므로 가용성 문제가 아닙니다. 라이브 엔드 포인트 테스트는 모의를 사용하는 테스트보다 실행 시간이 더 오래 걸리지 만 실제로는 신경 쓰지 않습니다.
지금은 모든 수업에 대한 라이브 엔드 포인트 테스트 및 모의 기반 테스트를 작성합니다. 나는 목을 버리고 싶지만 결과적으로 품질이 떨어지기를 원하지 않습니다.
당신은 어떻게 생각하세요?