更换OpenJDK 15.0.1后CucumberJvm5SMFormatter失效问题排查
问题:Cucumber测试结果无法显示步骤明细的兼容性核查方案
我在IntelliJ社区版(升级至2022.3.3)+ OpenJDK 15.0.1环境下用Java+Cucumber做测试,升级后无法查看带步骤明细的测试结果,只能看到简化版。场景配置里的程序参数仍为:
--plugin org.jetbrains.plugins.cucumber.java.run.CucumberJvm5SMFormatter --name "^Verify the shopping basket for multibooking for Listing with all variants allowed in one same location$”
但该参数已失效。怀疑CucumberJvm5SMFormatter与OpenJDK 15.0.1或IntelliJ 2022.3.3不兼容,想了解自行核查兼容性的方法。我的pom.xml中Cucumber相关依赖版本均为7.1.0,具体配置如下:
<dependency> <groupId>io.cucumber</groupId> <artifactId>cucumber-jvm</artifactId> <version>7.1.0</version> <type>pom</type> </dependency> <dependency> <groupId>io.cucumber</groupId> <artifactId>cucumber-java</artifactId> <version>7.1.0</version> <scope>test</scope> </dependency> <dependency> <groupId>io.cucumber</groupId> <artifactId>cucumber-junit</artifactId> <version>7.1.0</version> <scope>test</scope> </dependency>
兼容性核查步骤
1. 核对IntelliJ Cucumber插件与Cucumber版本匹配
- 打开IntelliJ的
Settings/Plugins,找到「Cucumber for Java」插件,查看版本说明,确认其支持的Cucumber核心版本范围是否包含7.1.0,同时确认插件兼容的IntelliJ版本是否覆盖2022.3.3。
2. 验证格式化器的版本适配
CucumberJvm5SMFormatter是适配Cucumber 5.x的内置格式化器,你的Cucumber版本为7.1.0,可尝试替换为适配7.x版本的格式化器:org.jetbrains.plugins.cucumber.java.run.CucumberJvm7SMFormatter,重新运行测试看是否恢复步骤明细。- 查看IntelliJ插件内置帮助文档,确认不同Cucumber版本对应的格式化器类名。
3. 检查JDK版本兼容性
- 查看Cucumber 7.1.0的依赖文档(本地Maven仓库内的pom文件或项目依赖说明),确认其官方支持的JDK版本范围是否包含15.0.1。
- 查看IntelliJ 2022.3.3的官方支持JDK版本列表,确认15.0.1是否在支持范围内。
4. 排查依赖冲突
- 执行
mvn dependency:tree命令,检查是否存在间接依赖的Cucumber组件版本不一致,导致格式化器无法正常工作。 - 确认
cucumber-jvm作为pom依赖是否正确引入了所有必要子模块,避免缺失关键组件。
5. 最小化场景测试
- 创建一个仅包含基础Cucumber依赖和简单测试场景的新项目,运行后查看是否能显示步骤明细。如果可以,再逐步添加原有项目的配置和依赖,定位问题根源。
内容的提问来源于stack exchange,提问作者iversoncru
相关产品推荐
相关产品推荐

