Lie*_*ero 5 c# mstest asp.net-core-mvc asp.net-core
我想为我的控制器编写单元测试。
我想检查操作的响应代码。例如,Post 操作应该返回201,get 应该返回200,等等。
但是,Action 方法返回IActionResult。如何从 获取响应代码ActionResult?
//setup
MyController controller = CreateController<MyController>();
//action
var actionResult = controller.Post(dafXml);
//assert
???
Run Code Online (Sandbox Code Playgroud)
我不想检查操作结果的类型,因为我只关心状态代码。例如,可以通过或使用自定义来201实现...CreatedAtActionCreatedAtRouteObjectResult
Ign*_*nas 11
FluentAssertions提供了一种断言控制器响应代码的优雅方法。请参阅下面的示例。
// 200
actionResult.Should().BeOfType<OkObjectResult>()
.Which.StatusCode.Should().Be((int)HttpStatusCode.OK);
// 201
actionResult.Should().BeOfType<CreatedResult>()
.Which.StatusCode.Should().Be((int)HttpStatusCode.Created);
// 500
actionResult.Should().BeOfType<ObjectResult>()
.Which.StatusCode.Should().Be((int)HttpStatusCode.InternalServerError);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13736 次 |
| 最近记录: |