Vert.x假/嵌入式mongo

问题描述 投票:0回答:1

我有一个服务,我需要实现功能测试(Cucumber),它会进行一些休息调用。

在我之前的春季项目中,我曾使用过fongo,但我猜它不适用于Vert.x

现在我的黄瓜测试,我如何实现假mongo /嵌入式mongo或者他们是另一个库。我也试过vertx-embedded-mongo-db,但它缺乏良好的文档。

mongodb cucumber vert.x functional-testing embedded-database
1个回答
1
投票

我有类似的要求,我通过使用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.xvertx-embedded-mongodb不再支持4.x.x

© www.soinside.com 2019 - 2024. All rights reserved.