Vertx中的单元测试消费者

时间:2018-02-27 21:09:33

标签: java unit-testing vert.x vertx-verticle

我有一段代码,我想进行单元测试。

this.vertx.eventBus().consumer(VERTICLE_ID).toObservable()
        .subscribe(msg -> doSomethingCool());

和我的消费者方法:

 private void doSomethingCool(){ 
  // Some cool stuff.
 }

现在我想单独测试doSomethingCool()而不使用powermockito(我希望有代码覆盖率),我不想让我的方法可见(公共)。我怎样才能做到这一点? vertx中的任何钩子都可以做到这一点?

1 个答案:

答案 0 :(得分:0)

如果对doSomethingCool

的目的一无所知,实际上很难说出如何编写测试
  • 是否返回值? (即通过msg.reply())
  • 是否会修改Verticle的状态?还是全球国家?
  • 是否进行下游呼叫?
  • 你的方法一旦用它做了什么就会调用一个处理程序吗?

单元测试应验证可观察的结果。因此,编写单元测试以验证其中一个结果。 如果调用处理程序,您可以使用vertxunit TestContext并倒计时异步。

......远离Powermockito。