Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Maven预填充MongoDB数据库_Java_Mongodb_Maven - Fatal编程技术网

Java 使用Maven预填充MongoDB数据库

Java 使用Maven预填充MongoDB数据库,java,mongodb,maven,Java,Mongodb,Maven,我想用一些数据预填充Maven Java项目中的MongoDB数据库,以便进行集成测试。我可以通过手动执行MongoShell中的脚本来轻松实现这一点(/mongoserver:port/database——安静我的脚本.js),但如何使用Maven实现这一点呢?在运行测试之前,MongoDB数据库是否正在运行?还是在测试中启动服务器 在任何一种情况下,我都认为可以使用DbUnitMaven插件加载包含testdata的外部文件。看看您可以使用将脚本运行到数据库中的方法。如果您已经有一个正在运行

我想用一些数据预填充Maven Java项目中的MongoDB数据库,以便进行集成测试。我可以通过手动执行MongoShell中的脚本来轻松实现这一点(
/mongoserver:port/database——安静我的脚本.js
),但如何使用Maven实现这一点呢?

在运行测试之前,MongoDB数据库是否正在运行?还是在测试中启动服务器

在任何一种情况下,我都认为可以使用DbUnitMaven插件加载包含testdata的外部文件。看看

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


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

您现在可以使用它来实现这一点。它有一个
mongoimport
目标来运行mongoimport,或者有一个
mongoscripts
目标来评估任意的js脚本。

检查一下,非常感谢!但是便携性呢?如果我们的一个开发人员使用Windows(并且不能执行shell脚本),我该怎么办?谢谢,但我认为DBUnit不能与MongoDB数据库一起工作。好的,我想它有一个标准的jdbc驱动程序。也许NoSQLUnit就是这样:谢谢!看起来NoSQLUnit正在积极开发中,我一定会尝试一下!非常感谢。这似乎是正确的解决办法。而且(如果有必要的话)我在我的项目中使用了用于MongoDB的Spring数据,但我可以轻松访问底层API。