2009-06-25 2 views

답변

5

저수준 드라이버를 쓰지 않는 한, 클래스는 의심의 여지없이 다른 클래스에 따라 실제 통신을 수행합니다. 그럴 경우 쉽게 조롱받지 못하면 의존성 삽입을 사용하여 클래스 나 래퍼를 제공 할 수 있습니다. 테스트에서, 당신이 속한 클래스의 모의 버전 (또는 실제 클래스를 모의 할 수 없다면 래퍼)을 제공 할 것입니다. 당신이 제공하는 모의 (mock)에있는 당신의 방법에 의해 적절한 매개 변수를 가진 올바른 방법이 호출되는지 확인하십시오. 실제 의존성으로부터 모든 행동 범위를 다루었다고 스스로 만족할 수있는 단위 테스트가 충분한 지 확인하십시오. 이것은 단위 테스트에 충분합니다.

또한 통합 테스트가 필요합니다. 불행히도이를 수행하는 가장 쉬운 방법은 의사 소통을위한 모의 서버 (full-up mock server)를 개발하는 것입니다. 모의 서버는 인터페이스를 구현하기 만하면됩니다. 상대방의 실제 코드가 아닙니다. 모의 서버에서 예상되는 동작이 발생하도록 통합 테스트를 위해 서버를 설정할 수있는 몇 가지 추가 방법을 제공하십시오.

1

당신은 네트워크 통신에 대한 책임이 클래스를 - 테스트 단위 경우 다음 올바르게 통신을 수행하는 경우에만 테스트. 따라서 의사 소통을위한 가상 서버 (예 : 더미 서버)를 제공하십시오. EasyMock 및 jMockit과 같이 사용할 수있는 많은 모의 라이브러리가 있습니다. 실제 서버와의 실제 통신을 테스트하려면 통합 테스트입니다. 물론, 단위 테스트가 포함하는 것의 정확한 정의는 개발자마다 다릅니다.

관련 문제