public HttpResponseMessage Save(IList<Models.Activity> activities)
{
//some controller code
return Request.CreateResponse(HttpStatusCode.Created, activities, Configuration);
}
如何对活动正确传递给Request.CreateResponse进行单元测试?
答案 0 :(得分:7)
这里有两个选择。
您可以设置正确的上下文,以便CreateResponse正常工作。这篇博文文章使用PostProductReturnsCreatedStatusCode进行了演示:
或者你可以像我在这里提到的那样向内存服务器提交请求:
第一个选项更多的是单元测试,因为它没有通过Web API管道,但它也更难设置和配置。
如果您还需要测试响应正文,则可以使用看起来像这样的代码来获取被发回的实体:
ObjectContent content = response.Content as ObjectContent;
IList<Models.Activity> responseActivities = content.Value;