繁体   English   中英

Spring 引导 junit5 测试在本地 (Windows) 工作,但在 Jenkins (Linux) 中不工作

[英]Spring Boot junit5 tests working locally (Windows) but not in Jenkins (Linux)

我将在这里回答我自己的问题,以防它对其他人有用......

在更新到 Spring Boot 2.4.0(从 2.3.4)和 JUnit5(从 JUnit4)后,我的单元测试在 Jenkins 上开始失败。 奇怪的是他们在当地工作。

这是在 Jenkins 的错误日志中:

Neither @ContextConfiguration nor @ContextHierarchy found for test class [my.PackageName.controller.ControllerTest], using SpringBootContextLoader

为什么测试在 Jenkins 上停止工作,但在本地很好?

我在 SO 上找到了类似的问题/答案,但不是我的具体问题......(如果答案已经存在,请道歉)

我花了很长时间才发现它,但关键是:

Neither @ContextConfiguration nor @ContextHierarchy found for test class [my.**PackageName**.controller.ControllerTest], using SpringBootContextLoader

PackageName为驼峰式。 出于某种原因,很久以前,当我创建测试类时,我将它们放在 package 中:

package my.PackageName.controller;

解决方法是将其更改为:

package my.packagename.controller;

因为 Linux 文件系统区分大小写,而 Windows 不区分大小写。 对依赖项的更新似乎改变了包在某处解析的方式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM