1

我目前正在编写一个 MVC3 应用程序,该应用程序将公开一个 restful api。基本上我所做的只是提供一些返回 json 对象而不是视图和正确处理动词的控制器方法(即放置帖子等)。

我不确定如何对restful api进行单元测试。我可以直接在 c# 中调用控制器,但这意味着我不是“吃我自己的狗粮”(它将使用这个 api 的第三方)。所以目前在我的单元测试中,我使用 HttpWebRequest 来创建访问真实 Web 服务器的请求。这不太令人满意,因为我现在必须在我的构建机器上运行一个网络服务器。还有另一种方法可以做到这一点吗?即模拟一个真实的Web 请求,如果它在IIS 中运行,它将如何影响代码的所有部分?

4

1 回答 1

2

单元测试意味着测试一个独立的代码单元,在你的例子中是控制器。如果您想端到端测试整个系统,则更多的是集成测试。

您也许可以使用 iis 7 可托管 Web 核心在您自己的流程中设置集成测试:

http://blogs.iis.net/carlosag/archive/2008/04/14/host-your-own-web-server-in-your-application-using-iis-7-0-hostable-web-core。 aspx

于 2012-04-06T19:12:42.797 回答