2012-05-03 5 views
4

이것은 나를 미치게합니다. 오류가있는 경우 요청의 콘텐츠 응답을 변경하는 데 사용되는 확장 프로그램이 있습니다. 기본적으로 모든 것이 작동하면 정상적으로 JSON에 직렬화되지만 처리되지 않은 예외가 발생하면 다른 객체를 기반으로 직렬화됩니다.단위 WCF 동작 확장 테스트

단위 테스트가 필요하지만이를 작성하는 방법을 알 수 없습니다. 작동 여부를 확인하는 방법은 StatusCode, 오류 메시지 인스턴스 및 응답의 ContentType을 중심으로 이루어집니다.

응답을 되돌리기 위해 WebOperationContext 정적 클래스를 사용합니다. 나는 이것을 비웃는 예제를 보았지만, 원하지 않는 실제 코드로 퍼지기 시작하는 특별한 로직을 하드 코딩해야하는 것처럼 보입니다.

WCF 비헤이비어 확장을 단원 테스트하는 가장 좋은 방법은 무엇입니까?

답변

0

나는 대부분의 클래스가 봉인되었거나 내부 생성자를 가지고 있기 때문에 비슷한 상황을 겪었고 WCF를 모의 할 수 없었습니다 (최소한 Moq를 사용하여). 내가 무슨 짓을

내 행동이 단지 IParameterInspectorIClientMessageInspector을 적용 (내 경우에는 내가 모두 필요)하고, 관리자의 유형에 따라, 당신이 필요로하는 AfterCall 또는 BeforeCall, 또는 둘 중 하나 하나에 내 모든 논리를 넣어 것이 었습니다 .

그런 식으로 제가 신경 쓰는 모든 논리를 테스트 할 수 있습니다. 실제 WCF 비헤이비어는 테스트되지 않은 채로 남아 있지만 실제로 수행 한 모든 작업은 두 명의 검사원을 추가하는 것뿐이었습니다.