我对要测试的对象有相当重要的依赖关系图。解决我的依赖问题最简单的方法是什么,而无需在任何地方注册mocks?在大型依赖对象图上注入模拟
例如,我有一个依赖关系图如下:
PublicApi
ApiService
AccountingFacade
BillingService
BillingValidation
BillingRepository
UserService
UserRepository
我想测试PublicApi.CreateUser()
,我希望它通过所有的代码运行,但我想嘲笑仓库所以我不不得不向数据库写入任何内容。我应该只使用一个DI容器并注册我的所有服务,并使用mock替换存储库,然后解析PublicApi
并运行该方法?
我正在研究AutoFixture,看起来它可能能够处理这样的事情,但我无法将自己的头围绕整个'Freeze'与'Register'并且它与Moq集成。
这是有道理的。我可以通过进行多层测试来获得全面覆盖,而不是一次测试多个层。 – scottm
确切地说,它使得测试本身更简单,更易于理解。 –
+1,直接点。 –