Http 처리기에 대한 단위 테스트가 있습니다. 그것에 내가 HttpResponse
개체를 만들고 내 HTTP 처리기 메서드 중 하나를 전달하십시오. 내 테스트단위 테스트에서 응답 헤더를 검사 할 수 없습니다.
하나는 응답 헤더가 올바르게 설정되었는지 확인하기 위해 시도합니다
Assert.AreEqual("gzip", response.Headers["Content-Encoding"]);
는 그러나,
Headers
속성은 메시지
와 PlatformNotSupportedException
을 던졌습니다 "이 작업은 파이프 라인 통합 모드 IIS가 필요합니다."
내가 이해하는 한, 예외는 응답 헤더를 설정하는 것과 관련되어 있습니다. TDD를 사용하고 있으므로 헤더를 아무 곳에 나 설정하지 않아도 예외가 발생합니다.
왜 이런 예외가 발생하며 단위 테스트 응답 헤더를 테스트하는 좋은 방법이 있습니까?
답변을 읽기 전에 실제로 IHttpContext 인터페이스를 추출했습니다. +1 내 머리 속에있다 : – ctford
이 질문을 통해 오는 사람 들어. @ryber가 제안하는 것을 촉진하기 위해 현재 유용한 많은 추상화 프로젝트가 있습니다. Microsoft로부터 하나를 포함합니다. 이것은 단위 테스트 HttpContext를 훨씬 쉽게 만듭니다. 또한 자체 호스트 서버를 사용하여 구성 요소 수준을 테스트 할 수 있으며이를 권장합니다. 검색 (Self-Host ASP.NET 또는 OWIN Self Host) – Ray