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

Cluecumber报告All Steps页面测试数据缺失,仅显示空大括号问题

解决Cluecumber报告All Steps页面测试数据空大括号问题

问题核心

你的Feature文件中参数周围使用了Markdown加粗符号**,导致Cucumber无法正确识别并捕获参数值,进而Cluecumber报告无法填充数据,显示空大括号{}。此外还需确认Step Definition参数绑定、Cucumber JSON报告生成及Cluecumber配置是否正确。

解决方案

1. 修正Feature文件参数格式

移除参数两侧的**加粗符号,Cucumber步骤匹配依赖纯文本内容,这些符号会干扰参数识别。修改后的Feature文件如下:

@Regression
Scenario: Create a new Modifiers
  Given item image is clicked
  When modifiers option is selected
  And modifier is created as "ModifierName"
  And enter modifier option and modifier price as "Mod" and "3.50" respectively
  And hit save
  Then verify modifier is created as "ModifierName"

2. 验证Step Definition参数绑定

确保Step Definition的匹配表达式能正确捕获参数,示例如下:

  • 单参数步骤(正则表达式方式):
@When("modifier is created as \"(.*)\"")
public void createModifier(String modifierName) {
    // 执行创建逻辑,确保参数正常使用
}
  • 多参数步骤(正则表达式方式):
@When("enter modifier option and modifier price as \"(.*)\" and \"(.*)\" respectively")
public void enterModifierDetails(String option, String price) {
    // 执行输入逻辑
}

若使用Cucumber Expressions,写法如下:

@When("modifier is created as {string}")
public void createModifier(String modifierName) {
    // 业务逻辑
}

@When("enter modifier option and modifier price as {string} and {string} respectively")
public void enterModifierDetails(String option, String price) {
    // 业务逻辑
}

3. 确认Cucumber JSON报告内容

运行测试后,检查Cucumber生成的JSON报告(通常在target/cucumber-reports目录下),确认对应步骤的arguments字段包含正确参数值。如果JSON报告中参数为空,说明Cucumber未捕获到参数,需重新检查Step Definition与Feature文件的匹配。

4. 检查Cluecumber插件配置

确保pom.xml中Cluecumber插件配置指向正确的JSON报告路径,示例配置如下:

<plugin>
    <groupId>com.trivago.rta</groupId>
    <artifactId>cluecumber-report-plugin</artifactId>
    <version>最新稳定版本</version>
    <executions>
        <execution>
            <id>generate-report</id>
            <phase>post-integration-test</phase>
            <goals>
                <goal>reporting</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <sourceJsonReportDirectory>${project.build.directory}/cucumber-reports</sourceJsonReportDirectory>
        <generatedHtmlReportDirectory>${project.build.directory}/cluecumber-report</generatedHtmlReportDirectory>
    </configuration>
</plugin>

内容的提问来源于stack exchange,提问作者Neha Kharbanda

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 16:46:28