【问题标题】:Unit test consumers in VertxVertx 中的单元测试消费者
【发布时间】:2018-02-27 21:09:33
【问题描述】:

我有一段要进行单元测试的代码。

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

和我的消费者方法:

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

现在我想在不使用 powermockito 的情况下对 doSomethingCool() 进行单元测试(我想要代码覆盖率)并且我不想让我的方法可见(公开)。我怎样才能做到这一点? vertx中的任何钩子可以做到这一点吗?

【问题讨论】:

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


    【解决方案1】:

    如果对doSomethingCool 的用途一无所知,实际上很难说出你应该如何编写测试

    • 它是否返回一个值? (即通过 msg.reply())
    • 它会修改 Verticle 的状态吗?还是全局状态?
    • 它是否进行下游调用?
    • 您的方法在执行完所有操作后是否会调用处理程序?

    单元测试应该验证可观察的结果。所以编写你的单元测试来验证这些结果之一。 如果调用了处理程序,您可以使用 vertxunit TestContext 并倒计时异步。

    ...远离 Powermockito。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-02
      • 2020-05-24
      • 2021-10-16
      相关资源
      最近更新 更多