【发布时间】:2017-01-06 19:17:40
【问题描述】:
我正面临一个小挑战,我不知道如何解决它。在我当前的应用程序中,我们使用 RabbitMQ 作为 AMQP 代理(使用spring-rabbit),并且我们成功编写了集成测试,其中 RabbitMQ ConnectionFactory 自动连接等。
现在我们还有一些针对小型控制器的单元测试,当我使用命令行运行它们时会出现错误
grails test-app
org.springframework.beans.factory.BeanCreationException: 错误 创建名为“rabbitMQConfig”的bean:注入自动装配 依赖失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException:不能 自动装配字段:私有 org.springframework.amqp.rabbit.connection.ConnectionFactory rabbitmq.config.RabbitMQConfig.connectionFactory;嵌套异常是 org.springframework.beans.factory.NoSuchBeanDefinitionException: 否 符合条件的 bean 类型 [org.springframework.amqp.rabbit.connection.ConnectionFactory] 找到 对于依赖项:预计至少有 1 个符合自动装配条件的 bean 这种依赖的候选人。依赖注解: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
当我在 IntelliJ 中运行单元测试时一切正常!
所以我想知道在 IntelliJ 和 Grails 命令行中运行测试之间有什么区别。我猜这与 Grails 运行测试的环境有关。但我们还连接了一个 RabbitMQTestConfig,以便集成测试与测试配置一起工作。
我有点困惑为什么这在 IntelliJ 中有效,而不是在命令行中。有什么线索吗?
【问题讨论】:
标签: grails grails-3.1