2

我想在 Maven Java 项目中使用一些数据预先填充 MongoDB 数据库以用于集成测试。我可以通过手动()在 mongo shell 中执行脚本来轻松实现这一点./mongo server:port/database --quiet my_script.js,但是如何使用 Maven 来做到这一点?

4

3 回答 3

4

MongoDB 数据库是否在运行测试之前运行?或者您是否将服务器作为测试的一部分启动?

无论哪种情况,我认为都可以使用 dbunit maven 插件来加载带有 testdata 的外部文件。看看http://mojo.codehaus.org/dbunit-maven-plugin/operation-mojo.html

于 2012-10-17T08:50:08.190 回答
1

您可以使用Mongo Java API通过该方法将脚本运行到数据库中DB.doEval()。如果您已经有一个正在运行的数据库,那么连接和运行脚本可以作为测试设置的一部分来完成。

也就是说,对于我的一些项目,我使用 Maven 和embedmongo Maven 插件,它允许动态创建 mongo 数据库以进行集成测试。那,结合您的脚本可能是一个替代解决方案,它不依赖于现有的 Mongo 数据库来运行。

于 2012-10-17T10:17:07.323 回答
0

您现在可以使用embedmongo-maven-plugin来实现这一点。它的mongoimport目标是运行 mongoimport 或mongo-scripts评估任意 js 脚本。

于 2015-10-21T19:23:00.307 回答