我想知道使我的系统可测试的最佳方法。
我不确定DI和嘲笑的最佳做法。
如果通过使用接口来促进DI,我应该构建实现与真实类相同接口的模拟类吗?
然后通过DI在我的测试中使用这些模拟类?
我将数据导入HDInsight。数据取自天蓝色队列。
我想模拟/模拟队列和hdinsight,因此我的单元测试很快并且解耦。
我应该在我的测试中使用依赖注入还是moq足够,这些应该独立运行吗?
答案 0 :(得分:2)
Mocks
和Dependency Injection
齐头并进,因为没有依赖注入,你就无法让你的类使用模拟而不是真实的东西。您不需要的是Dependency Injection Container
(例如Ninject)。如果你愿意,你可以使用它,但如果你做得对,你应该能够通过自己提供所有依赖项来对你的类进行单元测试。
答案 1 :(得分:2)
Moq就足够了。
您的测试使用模拟来帮助促进结果。它们设置简单快捷(一旦您习惯了您选择的任何模拟库)。
如果你要使用DI框架......你的工作量会增加三倍。您不仅可以手动删除模拟..但您也可以为测试维护DI配置。这根本不适合任何工作流程。