使用 MVC 进行依赖注入和内存集成测试
Posted
技术标签:
【中文标题】使用 MVC 进行依赖注入和内存集成测试【英文标题】:Dependency Injection and In-memory integration testing with MVC 【发布时间】:2015-03-21 13:28:52 【问题描述】:ASP.NET Web API 允许在内存中集成测试,其中被测应用程序和测试夹具都在同一个应用程序域中。这使得测试夹具可以很容易地修改 IOC 容器绑定以在集成测试期间伪造各种对象。
相比之下,ASP.NET MVC 并未设计为允许进行内存集成测试。 Steve Sanderson 设计了他的MVC Integration Test Framework 来提供此功能。但是,似乎该框架导致 MVC 应用程序在与测试夹具分开的 appdomain 中运行。
是否有人设计了一种方法来让测试装置控制 IOC 容器绑定,并且尽管目标应用程序位于单独的应用程序域中,但它仍然会影响它?
【问题讨论】:
旁注:您尝试做的测试类型样本会使您的问题变得更好。并不是每个人都对“集成测试”有相同的定义。 【参考方案1】:如果我理解你的话,我只有一个想法。您应该完全伪造 MVC 应用程序的上下文。然后你可以测试你想要的一切。我不知道如何在单独的应用程序域下对其进行测试。
【讨论】:
以上是关于使用 MVC 进行依赖注入和内存集成测试的主要内容,如果未能解决你的问题,请参考以下文章
.NET Core 的 NUnit Entity Framework 集成测试依赖注入问题
ASP.NET Core Web 应用程序系列- 在ASP.NET Core中使用Autofac替换自带DI进行批量依赖注入(MVC当中应用)
ASP.NET Core Web 应用程序系列- 在ASP.NET Core中使用Autofac替换自带DI进行构造函数和属性的批量依赖注入(MVC当中应用)
ASP.NET Core Web 应用程序系列- 使用ASP.NET Core内置的IoC容器DI进行批量依赖注入(MVC当中应用)