java - 与 RabbitMQ 的模拟连接

标签 java spring junit spring-amqp junit5

我有一个带有 Spring AMQP 的 Spring 应用程序。我想运行 JUnit 测试,该测试使用 H2 数据库启动 Spring。

但是对于 Spring AMQP,我在启动过程中遇到此异常:

 Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.amqp.core.AmqpAdmin]: Factory method 'amqpAdmin' threw exception; nested exception is org.springframework.amqp.AmqpConnectException: java.net.ConnectException: Connection refused: connect
        at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185)
        at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:640)
        ... 83 common frames omitted
    Caused by: org.springframework.amqp.AmqpConnectException: java.net.ConnectException: Connection refused: connect

是否有某种方法可以模拟与 RabbitMQ 的连接?

最佳答案

RabbitMQ-mock库可能会有所帮助,它模拟 ConnectionFactory 以提供模拟连接。可以找到集成测试的工作示例 here .

关于java - 与 RabbitMQ 的模拟连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58673563/

相关文章:

android - 单元测试 Activity.startService() 调用?

java - Intellij 可以在包 View 中单独显示包测试吗?

Java 组件最大尺寸

java - 从数组列表添加 double 型变量时出现问题

spring - 在 Spring Security OAuth2 中使用用户名密码授权中的刷新 token 请求新的访问 token

java - 拦截 Rest Controller 响应

java - Flutter 中的 Android 许可证

java - Java 中的 "undefined symbol: SQLAllocEnv"错误

java - 如何将托管在 Google 云引擎上的 spring boot 应用程序连接到 mysql 数据库?

java - 在 1 个测试方法中使用 junit @Rule、expectMessage()、匹配器来处理多个异常