我正在对使用统一依赖注入(inject)框架的类进行单元测试。
这将返回 null:
ServiceLocator.Current.GetInstance();
我怎样才能让它返回一个模拟对象或只是对象本身?
最佳答案
你可以使用穷人的注入(inject)剂。创建一个默认构造函数,该构造函数从服务定位器中检索依赖项,并将这些依赖项转发给将它们作为参数的“真实”构造函数。这需要照顾生产情况。
然后在测试相关类时,将依赖项的假/模拟版本传递给“真实”构造函数,完全绕过默认构造函数。
关于unit-testing - 使用 ServiceLocator 进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1573072/