Unit testing the dependency injection(对依赖项注入进行单元测试)
问题描述
我正在为IOC使用Autofac
这是我的容器启动器类,负责注册依赖项。
这种方法的问题是,我需要将IContainerFactory
传递给我在应用程序中使用的每个类的构造函数,如下所示
所以很难对这些类进行单元测试。
怎样才能想出一个好的解决方案?
推荐答案
您当前的服务定位器反模式使您的代码难以单独测试,并使类在其实际依赖项方面具有误导性。
MainClass
应重构为Explicit Dependencies Principle
您的任何其他依赖于容器工厂的类也应遵循相同的模式,如Database
。
不过,您还需要相应地重构容器注册
测试MainClass
需要您仅模拟被测试类的必要依赖项。
这篇关于对依赖项注入进行单元测试的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!