Vert.x поддельные / встроенные монго - PullRequest
0 голосов
/ 28 марта 2019

У меня есть служба, в которой мне нужно реализовать функциональные тесты (Cucumber), которые делают некоторый вызов покоя.

Теперь ранее в моих предыдущих весенних проектах я использовал fongo , но я думаю, что он не работает с Vert.x

Теперь для моих тестов на огурец, как мне реализовать поддельные монго / встроенные монго или это другая библиотека все вместе. Я также попробовал vertx-embedded-mongo-db , но там не хватает хорошей документации.

1 Ответ

1 голос
/ 29 марта 2019

У меня было похожее требование, и я выполнил его, используя vertx-embedded-mongodb

То, что я сделал, началось vertx-embedded-mongodb по вертикали, а затем я начал свою вертикалку, которая слушает порт монго 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 для проверки env.

Также приведенное выше решение относится только к Vert.x 3.x.x.vertx-embedded-mongodb больше не поддерживается для 4.x.x.

...