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

Cucumber中defineParameterType应在哪里声明?自定义参数类型不识别如何解决

Cucumber 自定义参数类型不识别问题解决

自定义参数类型的声明位置

Cucumber JS启动时会自动加载配置指定路径下的所有JS文件,你只需要满足以下任意一个条件即可:

  • 直接将存放defineParameterType的ParameterType.js文件放在项目默认的step_definitions目录下,Cucumber会自动扫描加载
  • 如果文件放在其他目录,需要在项目根目录的cucumber.js配置文件中,将该文件所在路径加入require配置项,示例配置如下:
// 根目录cucumber.js配置
module.exports = {
  require: [
    'step_definitions/**/*.js',
    '你的自定义参数类型文件所在目录/**/*.js'
  ]
}

自定义name参数无法被识别的原因

你当前的配置存在两个可修复的问题:

  1. 步骤定义的回调函数未接收参数
    你写的步骤定义回调没有声明形参接收{name}匹配到的内容,调整即可:
const { Given } = require('@cucumber/cucumber');

// 新增形参接收匹配到的name值
Given('we have a new ApiKey called {name}', function (name) {
  console.log('----Inside function--- 匹配到的name值为:', name);
  return 'pending';
});
  1. 确认参数类型文件已被加载
    如果调整后还是提示步骤未定义,说明你的ParameterType.js未被Cucumber加载,可直接将该文件移动到step_definitions目录下测试,或者按照上面的配置方法修改cucumber配置的加载路径。

内容的提问来源于stack exchange,提问作者For Testing

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 06:33:00