반응형
CreateResponse를 모의하는 방법 HttpRequestMessage의 확장 메서드
ASP.Net MVC 4 RC의 ApiController를 사용하고 있으며 GET 메서드를 단위 테스트하려고합니다.
이 방법은에있는 CreateResponse<T>방법을 사용 HttpRequestMessage하지만이 방법을 조롱하거나 올바르게 작동하도록하는 방법을 모릅니다.
메서드의 본문에는 다음이 포함됩니다.
MediaTypeHeaderValue header = new MediaTypeHeaderValue(versionedSmartBlock.ContentType);
var response = Request.CreateResponse<SmartBlock>(
HttpStatusCode.OK, versionedSmartBlock, header);
내 단위 테스트 내에서 빈 생성합니다 HttpRequestMessage.
CallsController api = new CallsController(
managerMock.Object, config, adapterFactoryMock.Object);
api.Request = new HttpRequestMessage(
HttpMethod.Get, "http://localhost/Initiate?ern=%2B44123456789");
var response = api.Get("+44123456789", null);
그러나 다음을 생성합니다 InvalidOperationException.
요청에 연결된 구성 개체가 없거나 제공된 구성이 null입니다.
아무도 내가이 구성 할 수있는 방법에 대한 포인터를 가지고 HttpRequestMessage그렇게하는 것이 CreateResponse방법이 실제로 그 일을하세요?
이것은 빈 구성을 지정하여 해결되었습니다.
request.Properties.Add(HttpPropertyKeys.HttpConfigurationKey, new HttpConfiguration());
여기에서 답을 얻었습니다.
Request.CreateResponse를 사용한 ASP.NET WebApi 단위 테스트
여기 VB가있는 WebAPI 1!
위의 링크에서 하이브리드 응답을 관리하여 다음과 같이 간단하게 작동합니다.
Dim request As HttpRequestMessage = New HttpRequestMessage()
Return request.CreateResponse(HttpStatusCode.BadRequest, myCustomClassObject, GlobalConfiguration.Configuration)
누군가에게 도움이 될 경우를 대비하여 게시하십시오.
반응형
'IT TIP' 카테고리의 다른 글
| ImageMagick을 사용하여 사용 가능한 모든 글꼴을 어떻게 볼 수 있습니까? (0) | 2020.11.04 |
|---|---|
| Linq 먼저 특정 번호로 주문한 다음 모든 나머지를 순서대로 표시 (0) | 2020.11.03 |
| 링크를 시도 할 때 AdMob에 앱이 표시되지 않습니까? (0) | 2020.11.03 |
| data.map은 함수가 아닙니다. (0) | 2020.11.03 |
| 내부 및 외부 조각화 (0) | 2020.11.03 |