【发布时间】:2011-11-02 15:52:39
【问题描述】:
对于我要测试的对象,我有一个相当重要的依赖关系图。解决我的依赖关系而不必到处注册模拟的最简单方法是什么?
例如,我有一个这样的依赖图:
PublicApi
ApiService
AccountingFacade
BillingService
BillingValidation
BillingRepository
UserService
UserRepository
我想测试PublicApi.CreateUser(),我希望它运行所有代码,但我想模拟存储库,因此我不必向数据库写入任何内容。我应该只使用 DI 容器并注册我的所有服务,用模拟替换存储库,然后解析 PublicApi 并运行该方法吗?
我正在研究 AutoFixture,它看起来可能能够处理这样的事情,但我无法完全理解整个“冻结”与“注册”以及它与 Moq 的集成。
【问题讨论】:
标签: c# unit-testing dependency-injection moq autofixture