使用MongoDB进行集成测试?

Mar*_*ark 6 java integration-testing mongodb

我需要使用Java对Mongo数据库进行多次集成测试,我正在寻找一个类似DbUnit的解决方案(DbUnit用于Hibernate),它可以使用自定义数据填充我的数据库,并在每次运行后重置状态.

有小费吗?

谢谢

Gat*_* VP 3

首先,我不知道有任何与 Mongo 的 DBUnit 直接等效的东西。Mongo 仍然是一个新产品,因此您可能必须“自己开发”一些东西。

然而,Mongo 有几个特性可以让这一切变得简单:

  1. 它以最小的权限运行
  2. 它可以简单地“运行”准备好的文件
  3. 它实际上没有模式(索引除外)
  4. 它可以处理 JSON 数据

根据您的数据集,有很多方法可以做到这一点。但基本工具已经有了。

  • 您应该能够从您的测试中启动专门用于您的测试的版本。
  • 您应该能够从 JSON 文件导入“状态”数据。
  • 您应该能够从 JS 文件应用任何服务器端函数(从头开始)。

所以整个事情应该非常简单。尽管您必须编写大量粘合代码。

  • 不要忘记,您可以使用 Java 的 File.createTempFile (带有 file.deleteOnExit)轻松制作测试 mongo 数据库存储。 (2认同)