java - Guava EventBus 单元测试

标签 java junit guava

我有一个简单的 Guava EventBus,带有一个简单的事件和一个简单的监听器。我的问题是,在发布事件后检查是否调用监听器方法的测试模式是什么。

最佳答案

我建议测试 EventBus 是否正常工作不是您应该编写的 UNIT 测试。使用库(至少使用您信任的库)的优点之一是单元测试由库提供者编写。所以请不要浪费时间验证 Google 人员是否正确编写了 EventBus。要编写系统的单元测试,应该模拟 EventBus,因此不会调用您的监听器。这是使用消息总线的优势之一,它允许隔离单独的应用程序问题,从而更容易进行单元测试。

当您准备好这样做时,这将是一个测试整个系统是否协同工作的集成测试。在某些情况下,这也可能是用 JUnit 编写的,但不要认为它是单元测试。如何执行此操作取决于您的系统。您可以将 Spring 上下文加载到 JUnit 测试中,或者您可以部署应用程序并针对它运行测试。

关于java - Guava EventBus 单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16414912/

相关文章:

java - ftp4j:client.login 返回无法识别的 SSL 消息,明文连接?

java.util.properties containsKey(key) = false & getProperty(key) 具有有效值

java - 使用 JNA 将 C 数组返回给 Java

java - Mockito - 注入(inject)模拟列表

java - 使用 jUnit 测试套件时 OpenEJB 备用描述符无法工作

java - Java测试失败,因为NoSuchMethodError

java - Guava map 中的 map

java - 如何获取嵌套 `ArrayListMultimap`中的值

java-8 - Java 8 Guava Preconditions 在评估异常消息字符串时抛出 NullPointerException

java - 如何以编程方式禁用 Logback 输出到控制台但附加到文件