【发布时间】:2018-08-14 00:08:12
【问题描述】:
我正在使用Simple Injector 依赖注入框架,它看起来很酷很漂亮。但是在构建配置并使用它之后,现在我想知道如何从一种配置更改为另一种配置。
场景:假设我在 Global Asax 中设置了一个配置,并且在那里有公共和全局 Container 实例。现在我想做一些测试,我希望他们使用模拟类,所以我想更改配置。
当然,我可以构建另一个配置并将其分配给默认创建的全局Container,这样每次我运行测试时都会设置替代配置。但是在这样做时,尽管我处于开发环境中,但 Container 已为每个人更改,即使对于正常请求也是如此。我知道我正在这种情况下进行测试,这并不重要,但我觉得这不是这样做的方式......我想知道如何以正确的方式从一种配置更改为另一种配置。
【问题讨论】:
-
您是在谈论设置自动化测试吗?如果是这样,只需在每个测试用例之前重建容器(必要时使用模拟)。这是 MSTest 中的
[TestInitialize]和 NUnit 中的[SetUp]。
标签: c# dependency-injection inversion-of-control simple-injector