是否有一种简单的方法可以评估DI容器中的依赖关系是否可用于给定服务或所有服务? (特别是在构建时)
我运行了几个Azure函数,我手动构建DI容器以保持内容最小化,当依赖树更改时,我必须记住将新依赖项添加到函数中。如果我在第一次执行该函数时没有收到错误,而不是在我构建它以重新发布时。
是否有最好的做法可以遵循这个?可以通过某种单元测试来实现吗?
答案 0 :(得分:1)
我认为有一种方法可以在构建时验证这一点,但正如您所建议的那样,如果您按照通常的扩展方法注册服务,则可以通过单元测试验证这一点。排列应注册的类型列表,调用您的注册表扩展,并验证内容。我认为你唯一能做的就是确认他们在正确的生命周期内注册。
Tab
如果注册发生在不同应用程序使用的单独库中(我实际上自己使用支持函数,Web应用程序和命令行实用程序的库),您可以轻松地为所需服务列表设置不同的测试由每个图书馆消费者。