【发布时间】:2018-01-23 11:15:22
【问题描述】:
几天前我很难过。我希望你能帮助我。
在一个简单的 HelloWorld 项目中,尝试同时拥有 Spring conf 文件和任何 Junit 测试方法。
问题:如果至少有一个方法获得标签@Test,如果在我的 Maven 项目中将 Spring-context 和 Junit4 作为依赖项添加,我的 Junit 测试将不会运行。如果我从依赖项中删除 Spring-context,它就可以工作了。
假设: -> 如果我想运行任何 Junit 测试,我必须从 POM 中删除 Spring-Context(然后从项目中删除 Spring jar)。
-> 如果我想运行任何与 Spring 配置相关的东西,我必须确保我正在测试的类没有保留任何带有标签 @Test 的方法(即使我正在该测试类中创建一个主类)。
请看我的以下图片:
如您所见,控制台保持空白,任何地方都没有错误消息。 Spring 上下文未加载,Junit 测试也不起作用。
我怎样才能调试这些东西? Eclipse 没有在控制台中显示任何错误日志,也没有在错误日志选项卡中显示。我不知道如何调试/理解问题出在哪里。
我在 POM 中使用以下依赖项:
我也尝试过使用最新版本的 SPRING,但没有任何变化。
EDIT ---#通过玩依赖,我发现添加任何spring库时都会出现问题(spring-core除外)
请查看没有依赖 spring-aop 的成功运行测试。
然后是在依赖项中添加 Spring-aop 后没有任何反应的测试
有什么想法吗?
【问题讨论】:
-
请不要将代码添加为无法阅读的图像。为什么
@Test需要运行main方法...运行 main 与运行测试不同。 -
感谢您的浏览。事实上,我不熟悉他们在stackoverflow上格式化消息的方式:)
-
关于您的评论,一个不应该阻止另一个。我们可以两者都有,但是是的,我确实尝试过只使用没有 main 的 @Test 方法,如果 Spring 是 POM 的一部分,它就不起作用。即使我没有在任何地方使用它。 (没有任何反应,空白控制台)您是否知道在 Eclipse 中激活/特定日志详细信息的方法,以便在启动 Junit 测试时查看后台实际发生的情况?
-
如前所述,没有什么能阻止这种情况,如果是这种情况,那么所有基于 Spring 的 100000 个具有单元/集成测试的应用程序都将无法工作/进行测试。相信我,他们正在运行测试。
-
我编辑了帖子,我删除了主要方法。并且保留了一个简单的测试方法。我更准确地发现冲突来自spring-aop(包括它的spring-context)我添加了一个截图,其中spring-aop依赖(没有发生),没有,它正在工作。你说的多么神秘,如果哪里出了问题,每个人都应该有同样的问题。