【发布时间】:2023-03-09 14:10:02
【问题描述】:
我有一个使用 Spring MVC 创建的 RESTful 服务。我使用 spring-test mvcmock 创建了一个集成测试来测试我的 Rest 控制器。
当我使用 run as Junit 运行此测试时。它运行良好。
但是,当在mvn install 期间执行相同的测试时,使用surefire 插件。此测试抱怨抛出致命错误:
没有符合条件的 bean 类型 ...
当我检查以前的日志时,它说它加载了 0 依赖项。 这是日志:
DEBUG XmlBeanDefinitionReader - 从位置模式 [classpath*:service-test-context.xml] 加载 0 个 bean 定义
但是,我再次以 Junit 身份运行这个测试类,我可以看到“在同一日志行加载了 23 个 bean”。
问题:您能否提出建议,可能是什么问题?
注意:
这是多 maven 模块应用程序,并且没有注入另一个模块的依赖项。
当我以 Junit 身份运行此测试时,我遇到了同样的问题。然后我在 eclipse > build > project 中添加了依赖模块,问题在作为 JUnit 运行时得到了解决。现在在做mvn install时遇到这个问题。
【问题讨论】:
-
你的 JUnit runner 类是否以 Test 结尾?你也试过 mvn clean install 吗?
-
不,但它正在被调用。是否必须以 Test 结尾。你可以在你的surefire配置中包含任何表达式。我也尝试了 mvn clean install,但没有运气。
标签: maven junit dependency-injection integration-testing maven-surefire-plugin