如何实现单元测试ASP.NET WebAPI控制器的POST请求功能?

2026-04-30 13:0612阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计214个文字,预计阅读时间需要1分钟。

如何实现单元测试ASP.NET WebAPI控制器的POST请求功能?

csharppublic HttpResponseMessage SaveActivities(IList activities){ // Some controller code return Request.CreateResponse(HttpStatusCode.Created, activities);}

public HttpResponseMessage Save(IList<Models.Activity> activities) { //some controller code return Request.CreateResponse(HttpStatusCode.Created, activities, Configuration); }

如何对活动正确传递给Request.CreateResponse进行单元测试?

你有两个选择.

您可以设置正确的上下文,以便CreateResponse工作.这篇博文文章使用PostProductReturnsCreatedStatusCode进行了演示:

Here is the link

或者你可以像我在这里提到的那样向内存服务器提交请求:

如何实现单元测试ASP.NET WebAPI控制器的POST请求功能?

MSDN Link

第一个选项更多的是单元测试,因为它不通过Web API管道,但它也更难设置和配置.

如果您还需要测试响应主体,则可以使用看起来像这样的代码来获取要发送回的实体:

ObjectContent content = response.Content as ObjectContent; IList<Models.Activity> responseActivities = content.Value;

标签:Pos

本文共计214个文字,预计阅读时间需要1分钟。

如何实现单元测试ASP.NET WebAPI控制器的POST请求功能?

csharppublic HttpResponseMessage SaveActivities(IList activities){ // Some controller code return Request.CreateResponse(HttpStatusCode.Created, activities);}

public HttpResponseMessage Save(IList<Models.Activity> activities) { //some controller code return Request.CreateResponse(HttpStatusCode.Created, activities, Configuration); }

如何对活动正确传递给Request.CreateResponse进行单元测试?

你有两个选择.

您可以设置正确的上下文,以便CreateResponse工作.这篇博文文章使用PostProductReturnsCreatedStatusCode进行了演示:

Here is the link

或者你可以像我在这里提到的那样向内存服务器提交请求:

如何实现单元测试ASP.NET WebAPI控制器的POST请求功能?

MSDN Link

第一个选项更多的是单元测试,因为它不通过Web API管道,但它也更难设置和配置.

如果您还需要测试响应主体,则可以使用看起来像这样的代码来获取要发送回的实体:

ObjectContent content = response.Content as ObjectContent; IList<Models.Activity> responseActivities = content.Value;

标签:Pos