依赖注入可以帮助您很好地单元测试代码。但是,我们如何测试在运行时最终注入了正确的依赖项?例如,我有一个服务类,它接受服务验证器列表作为参数。由于验证器列表是由 DI 容器注入的,我们如何确保注入了正确的验证器?如果某个开发人员错误地从列表中删除了验证器怎么办?即使我们对依赖注入编写测试,也无法在不破坏封装性的情况下断言所有依赖关系。唯一的方法是进行集成测试,对服务的验证行为进行断言。如果服务行为很复杂,则编写集成测试变得困难。有什么想法吗?
依赖注入可以帮助您很好地单元测试代码。但是,我们如何测试在运行时最终注入了正确的依赖项?例如,我有一个服务类,它接受服务验证器列表作为参数。由于验证器列表是由 DI 容器注入的,我们如何确保注入了正确的验证器?如果某个开发人员错误地从列表中删除了验证器怎么办?即使我们对依赖注入编写测试,也无法在不破坏封装性的情况下断言所有依赖关系。唯一的方法是进行集成测试,对服务的验证行为进行断言。如果服务行为很复杂,则编写集成测试变得困难。有什么想法吗?