Vert.x fake/embedded mongo
Vert.x fake/embedded mongo
我有一项服务,我需要在其中实施功能测试(Cucumber),它会进行一些休息调用。
现在,在我之前的 spring 项目中,我曾使用过 fongo,但我猜它不适用于 Vert.x
现在对于我的黄瓜测试,我该如何实现假 mongo/embedded mongo
或者是他们一起的另一个图书馆。我也试过 vertx-embedded-mongo-db 但它缺少好的文档。
我有一个类似的需求,我通过 vertx-embedded-mongodb
实现了它
我所做的是启动 vertx-embedded-mongodb
vertical 然后我启动了我的 Verticle 监听 mongo 端口 27018
.
DeploymentOptions embeddedMongoOptions = new DeploymentOptions()
.setWorker(true)
.setConfig(new JsonObject().put("port", 27018).put("version", "3.4.3"));
vertx.rxDeployVerticle(EmbeddedMongoVerticle.class.getName(), embeddedMongoOptions)
.map(id -> {
return new DeploymentOptions()
.setWorker(true)
.setConfig(myApplicationCongig);
})
.flatMap(options -> vertx.rxDeployVerticle(MyApp.class.getName(), options))
.subscribe();
只需确保您的应用程序 mongo 配置为侦听 27018 而不是 27017 用于测试环境。
此外,以上解决方案仅适用于 Vert.x 3.x.x
。 vertx-embedded-mongodb
不再支持 4.x.x
。
我有一项服务,我需要在其中实施功能测试(Cucumber),它会进行一些休息调用。
现在,在我之前的 spring 项目中,我曾使用过 fongo,但我猜它不适用于 Vert.x
现在对于我的黄瓜测试,我该如何实现假 mongo/embedded mongo 或者是他们一起的另一个图书馆。我也试过 vertx-embedded-mongo-db 但它缺少好的文档。
我有一个类似的需求,我通过 vertx-embedded-mongodb
我所做的是启动 vertx-embedded-mongodb
vertical 然后我启动了我的 Verticle 监听 mongo 端口 27018
.
DeploymentOptions embeddedMongoOptions = new DeploymentOptions()
.setWorker(true)
.setConfig(new JsonObject().put("port", 27018).put("version", "3.4.3"));
vertx.rxDeployVerticle(EmbeddedMongoVerticle.class.getName(), embeddedMongoOptions)
.map(id -> {
return new DeploymentOptions()
.setWorker(true)
.setConfig(myApplicationCongig);
})
.flatMap(options -> vertx.rxDeployVerticle(MyApp.class.getName(), options))
.subscribe();
只需确保您的应用程序 mongo 配置为侦听 27018 而不是 27017 用于测试环境。
此外,以上解决方案仅适用于 Vert.x 3.x.x
。 vertx-embedded-mongodb
不再支持 4.x.x
。