如何从HttpActionResult Ok方法(Web Api)获取对象?

我正在学习一些Web Api基础知识,我想返回并通过Ok(object)传递一个对象。 像这样的东西:

 [HttpGet] public IHttpActionResult Get() { var someString = ""; return Ok(someString); } 

现在我想测试这个方法并断言来自这个Get()方法的返回字符串是否与预期的相同。 我猜猜看会是这样的:

 [TestMethod] public void TestGet() { IHttpActionResult result = controller.Get(); Assert.AreEqual("", result.??); } 

我看到了这个问题,但最好的答案是解释如何validationHttpStatusCode ,而不是传递的对象。

您可以通过将结果转换为OkNegotiatedContentResult并访问其Content属性来访问返回的字符串。

 [TestMethod] public void TestGet() { IHttpActionResult actionResult = controller.Get(); var contentResult = actionResult as OkNegotiatedContentResult; Assert.AreEqual("", contentResult.Content); } 

示例代码来自: http : //www.asp.net/web-api/overview/testing-and-debugging/unit-testing-controllers-in-web-api