相关疑难解决方法(0)

嘲笑集成测试

如何模拟集成测试所需的许多依赖项?

我使用Mockito进行"纯粹的"单元测试.在这种情况下,'Pure'意味着测试单个类,模拟它的所有依赖项.美丽.

现在进行集成测试.让我们说在这种情况下,集成测试将测试这样的事情:

  1. 消息被放入队列中
  2. 消息被"处理"
  3. 响应消息放在响应队列中

我们还要说步骤2中发生的处理是严肃的事情.它依赖于大量的数据库交互,多个外部服务,文件系统,各种各样的东西.流会触发很多副作用,所以我不能简单地确保响应是正确的 - 我需要验证副作用.

这些依赖项中的每一个都由一个无状态服务类包装,这使得它们很好并且可以模拟.

人们如何处理这个?

我很想使用Mockito,这样我就可以验证上述流程会产生的副作用.然而,Mocktio的文档(在很大程度上它的实现)似乎强烈反对在"纯"单元测试之外的上下文中使用它.我试过这条路,但是

  • 填充存根数据很困难(因为它有很多)
  • 让Spring将那些存根实例注入我的bean很困难
  • 很难"重置"模拟,这样我就可以在不清除存根的情况下验证不同的交互集.

编辑

我知道我可以像HSQLDB实例那样处理数据库问题,但仍然存在外部服务的问题.为了重复性,我不能依赖那些服务,处于我需要的状态,等等.我看到的唯一选择是嘲笑它们.

Whatdaya呢?

integration-testing mocking mockito

37
推荐指数
2
解决办法
2万
查看次数

标签 统计

integration-testing ×1

mocking ×1

mockito ×1