You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cucumber执行mvn test时无法显示场景与步骤的执行统计信息

解决Cucumber场景与步骤统计输出不显示问题

问题原因

使用JUnit Platform Engine运行Cucumber时,Maven Surefire插件默认会捕获测试输出并以JUnit风格展示,可能压制了Cucumber pretty 插件的格式化输出;另外,若测试启动类中未正确导入PLUGIN_PROPERTY_NAME常量,插件配置也不会生效。

解决方案

1. 修正测试启动类的常量导入

检查RunCucumberTest.java,确保导入正确的常量类,否则插件配置无法生效:

import org.junit.platform.suite.api.ConfigurationParameter;
import org.junit.platform.suite.api.IncludeEngines;
import org.junit.platform.suite.api.SelectPackages;
import org.junit.platform.suite.api.Suite;
import static io.cucumber.junit.platform.engine.Constants.PLUGIN_PROPERTY_NAME;

@Suite
@IncludeEngines("cucumber")
@SelectPackages("hellocucumber")
@ConfigurationParameter(key = PLUGIN_PROPERTY_NAME, value = "pretty")
public class RunCucumberTest {
}

2. 调整Maven Surefire插件配置

修改pom.xml中的maven-surefire-plugin,添加配置允许Cucumber的控制台输出:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>3.2.5</version>
    <configuration>
        <!-- 禁止Surefire重定向测试输出到文件,保留Cucumber的格式化输出 -->
        <redirectTestOutputToFile>false</redirectTestOutputToFile>
        <!-- 可选:直接通过系统属性配置Cucumber插件,确保配置生效 -->
        <systemPropertyVariables>
            <cucumber.plugin>pretty</cucumber.plugin>
        </systemPropertyVariables>
    </configuration>
</plugin>

3. (可选)使用配置文件简化设置

在src/test/resources目录下创建cucumber.properties文件,直接配置Cucumber插件:

cucumber.plugin=pretty

这种方式无需修改代码或pom.xml,配置更直观。

验证效果

重新执行mvn test,即可看到Cucumber风格的场景与步骤统计输出:

hellocucumber/is_it_friday_yet.feature:4 # Sunday isn't Friday
1 Scenarios (1 failed)
3 Steps (1 failed, 2 passed)

内容的提问来源于stack exchange,提问作者Nicolás Bonder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 23:44:51