猿问
使用IoC进行单元测试
使用IoC进行单元测试
如何使用IoC容器进行单元测试?使用IoC管理大型解决方案(50+项目)中的模拟有用吗?有什么经验吗?任何在单元测试中使用它的C#库都很好吗?
翻翻过去那场雪
浏览 631
回答 3
3回答
烙印99
一般来说,对于单元测试来说,DI容器不应该是必需的,因为单元测试都是关于分离责任的。考虑使用构造函数注入的类。public MyClass(IMyDependency dep) { }在整个应用程序中,可能隐藏了一个巨大的依赖图IMyDependency,但在单元测试中,您可以将其简化为单个试验双倍.您可以使用动态模拟(如Moq或RhinoMocks)来生成TestDouble,但它不是必需的。var dep = new Mock<IMyDependency>().Object;var sut = new MyClass(dep);在某些情况下,自动模拟容器拥有它可以很好,但是您不需要使用生产应用程序使用的相同的DI容器。
0
0
0
慕斯王
如何使用IoC容器进行单元测试?IoC将实施编程范例,从而使单元测试更容易(即使用模拟):接口的使用,没有新的(),没有单个的.但是使用IoC容器进行测试并不是一个真正的要求,它只是提供一些工具,例如注入模拟,但您可以手动完成。使用IoC管理大型解决方案(50+项目)中的模拟有用吗?我不知道你用IoC管理模仿是什么意思。无论如何,IoC容器在测试时通常可以做的不仅仅是注入模拟。如果您有良好的IDE支持,使重构成为可能,为什么不使用它呢?有经验吗?是的,在一个巨大的解决方案上,您比以往任何时候都更需要一个不容易出错和重构不利的解决方案(即通过类型安全的IoC容器或良好的IDE支持)。
0
0
0
随时随地看视频
慕课网APP
相关分类
C#
typedef入门问题
1 回答
我要回答