集成测试和单元测试(WEB API mvc 4)

5

在对APIController进行测试时,集成测试和单元测试有什么相关性?如何在集成测试中模拟存储库以创建web请求,以便不会实际查询数据库?

1个回答

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

3
在此处找到一个完整的例子:http://www.jefclaes.be/2012/07/should-i-unit-or-integration-test-my.html - JefClaes
1
@JefClaes 您的文章非常有用!它提供了示例,展示了如何在不启动Web服务器的情况下使用MVC Web API进行完整的端到端测试。非常好。 - Brain2000
备注:此功能仅在 ApiController(WebApi)上受支持,而不是 Controller(MVC 中也提到了该标签)上。 - BornToCode

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接