【发布时间】:2015-07-12 05:36:21
【问题描述】:
我正在学习一些 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.??);
}
我看到了this 的问题,但最好的答案是解释如何验证HttpStatusCode,而不是传递的对象。
【问题讨论】:
-
与其测试结果是否完全相等,你关心的结果是什么?
-
@JonSkeet 你是对的。我不会尝试测试传递的对象是否有效,而是插入一些后置条件,并根据它们返回不同的
HttpActionResults。非常感谢。 -
其实有些情况下测试返回的结果是有意义的。
-
@KhanhTO 举个例子。
-
例如:测试工厂方法时,需要测试返回的对象是否是期望的类型。测试返回结果有意义的情况不胜枚举,这只是一个例子。
标签: c# asp.net-web-api