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

同层级跨项目调用Cucumber stepDefinitions的配置方法问询

解决方案

要实现Project2复用Project1的登录步骤,只需要在cucumber执行时额外引入Project1的步骤定义文件路径即可,有两种可选配置方式:

方式1:直接修改package.json测试脚本

在原有测试命令的基础上新增--require参数指定Project1的步骤定义文件相对路径,修改后的配置如下:

"test:project2": "cucumber-js ./tests/ --require './tests/**/*.ts' --require '../Project1/tests/step_definitions/**/*.ts' --exit"

方式2(更推荐):修改Project2的cucumber.js配置

把公共步骤的引入统一放到cucumber配置文件中,后续不需要再修改脚本命令,修改后的Project2/cucumber.js内容如下:

let common = [
  'features/**/*.feature', // 指定feature文件路径
  '--require-module ts-node/register', // 加载TypeScript模块
  '--format node_modules/cucumber-pretty', // 加载自定义格式化工具
  '--require ./tests/step_definitions/**/*.ts', // 加载本地步骤定义
  '--require ../Project1/tests/step_definitions/**/*.ts' // 加载Project1的公共登录步骤
].join(' ');

配置完成后,package.json的测试脚本可以简化为:

"test:project2": "cucumber-js ./tests/ --exit"

注意事项

  • 确保Project2的tsconfig.json配置可以正确识别Project1的TypeScript代码,避免编译报错,可在include字段中添加../Project1/**/*.ts,或配置paths别名映射Project1的路径。
  • 路径均为从Project2根目录出发的相对路径,如果你调整了项目目录结构,需要对应修改路径参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 18:09:03