一个人如何嘲笑需要集成测试的许多依赖?
我用了的Mockito我的“纯”的单元测试。 在这种情况下,“纯粹”的检测手段单一类,嘲讽它的所有依存关系。 美丽。
现在就来集成测试。 让我们在这种情况下,集成测试将测试是这样说的:
- 消息放在一个队列
- 消息“处理”
- 响应消息被放在一个响应队列
让我们也说,这种情况发生在步骤2中的处理是严肃的事情。 它依赖于大量的数据库交互,对多个外部服务,文件系统,各种各样的东西。 也有很多副作用,流量将触发,所以我不能简单地确保响应是正确的 - 我需要验证的副作用。
这些依赖关系中的每一个由一个无状态的服务类,这使他们很好的和mockable包裹。
如何乡亲处理呢?
我喜欢使用这样的Mockito我可以确认的副作用,上述流程都会有。 然而,Mocktio的文档(并在很大程度上它的实现)似乎在对抗比“纯”单元测试其他环境中使用它强烈对抗。 我试图走这条路线,但
- 这是很难填充存根数据(有很多很多的)
- 这是很难有春天注入的存根情况下进入我的豆子
- 这是很难“重置”的嘲笑,这样我可以验证一组不同的相互作用不清除出来的存根。
编辑
我知道,我可以像一个HSQLDB实例处理数据库的问题,但仍然有对外服务的问题。 对于重复性我不能依靠这些服务是起来,在我需要时,状态等等。我看到有嘲笑他们唯一的选择之中。
Whatdaya呢?