我们可以在单元测试中使用多个模拟对象吗?

1 user-interface unit-testing private class public

我读过很多关于单元测试的文章.大多数文章说我们不应该在测试中使用多个模拟对象,但我不明白为什么.有时我们在测试中确实需要多个模拟对象.

Gis*_*shu 5

根据上下文,您可以在单元测试中使用多个模拟.

不过,我认为"文章"可能暗示的是什么

  • 防止过度嘲弄.当单元测试模仿所有合作者时,你将门打开; 当您替换真正的协作者时,该方案可能会失败.通过尽可能/尽可能地减少模拟的数量并使用真正的合作者,您可以最大限度地降低风险.
  • 高耦合警报:如果你发现自己不得不嘲笑许多合作者来编写单元测试,那么它可能是一种设计气味,表明你有很高的耦合.