我有一个服务,我需要实现功能测试(Cucumber),它会进行一些休息调用。
在我之前的春季项目中,我曾使用过fongo,但我猜它不适用于Vert.x
现在我的黄瓜测试,我如何实现假mongo /嵌入式mongo或者他们是另一个库。我也试过vertx-embedded-mongo-db,但它缺乏良好的文档。
我有类似的要求,我通过使用vertx-embedded-mongodb
实现了它
我做的是开始vertx-embedded-mongodb
垂直,然后我开始我的垂直听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
。