Я реализовал одну статью, как указано ниже. Вертикаль работает как положено. Теперь я пытаюсь написать тестовый пример Junit для этой Verticle, который мог бы проверить метод запуска, метод обработчика handleRequest () и метод getSomeData () внутри обработчика, который возвращает Future. Подойдет либо один тестовый пример для проверки всех трех методов, либо отдельный тестовый пример для проверки отдельного метода. Я знаю, как писать тестовые примеры Junit для синхронного кода, но понятия не имею, как именно писать TC Junit для Verticle в vert.x, который является асинхронным. Может ли кто-нибудь направить меня сюда? У меня также есть вертикаль маршрутизатора, из которой я отправляю сообщение этой потребительской статье MyVerticle, но я думаю сначала написать тестовые примеры Jnuit для этой потребительской верстилки. Пожалуйста помоги.
@Component
public class MyVerticle extends AbstractVerticle{
@Override
public void start() throws Exception {
super.start();
vertx.eventBus().<String>consumer("address.xyz").handler(handleRequest());
}
private Handler<Message<String>> handleRequest() {
return msg -> {
getSomeData(msg.body().toString())
.setHandler(ar -> {
if(ar.succeeded()){
msg.reply(ar.result());
}else{
msg.reply(ar.cause().getMessage());
}
});
};
}
private Future<String> getSomeData(String inputJson) {
Promise<String> promise = Promise.promise();
promise.complete("Returning Data");
return promise.future();
}
}