2012-08-13 148 views

回答

5

您可以使用Self Hosting功能来启动控制器并使用OpenAsync().ContinueWith(t => { /* ... */ })函数来运行测试。您需要覆盖Configuration.DependencyResolver并覆盖IHttpControllerActivator,以便您可以指定自己的模拟实现(例如,您可以使用Ninject来检索已通过模拟实现绑定的特定控制器)。

+3

在此处查找完整示例:http://www.jefclaes.be/2012/07/should-i-unit-or-integration-test-my.html – JefClaes 2012-08-17 15:36:32

+1

@JefClaes您的文章最有用!通过示例和全部内容,展示如何在不启动Web服务器的情况下使用MVC Web API执行整个端到端测试。非常好。 – Brain2000 2013-04-25 16:10:07