如何使用 NUnit 检查 200 ok

How to check 200 ok using NUnit

我创建了一个 API 的网站 returns 200 ok 响应。

 public IHttpActionResult get()
 {
    return Ok();
 }

此外,我还使用 NUnit 框架创建了一个测试项目。

var controller = new StatusController();
var result= controller.level0() as OkNegotiatedContentResult<object>;
IHttpActionResult actionResult = controller.level0();
Assert.AreEqual(HttpStatusCode.OK, actionResult);

但是我得到了这样的错误

Expected: OK
  But was:  <System.Web.Http.Results.OkResult>

当我尝试调试 'actionResult' 变量时,它包含一个错误

Request = '((System.Web.Http.Results.OkResult)actionResult).Request' threw an exception of type 'System.InvalidOperationException'

如何查看我的 HTTP 状态代码?

根据提供的控制器,您似乎将结果转换为错误的类型。

Ok() return 是 OkResult

的实例

检查 return 类型以验证被测操作是否按预期运行。

//Arrange
var controller = new StatusController();

//Act
IHttpActionResult actionResult = controller.get();

//Assert
Assert.IsInstanceOf<OkResult>(actionResult);

引用Unit Testing Controllers in ASP.NET Web API 2