总结 我在 Windows 上将 Playwright 与 TypeScript 和 Cucumber.js 结合使用,但
.feature
文件中的 Gherkin 步骤未链接到步骤定义。我已经设置了我认为正确的配置,但步骤匹配和自动完成功能不起作用。
系统详情
^10.9.0
^1.48.1
{
"description": "",
"dependencies": {
"@cucumber/cucumber": "^10.9.0",
"@types/node": "^20.16.13",
"dotenv": "^16.4.5",
"ts-node": "^10.9.2",
"typescript": "^5.6.3"
},
"devDependencies": {
"@playwright/test": "^1.48.1",
"@types/cucumber": "^7.0.0",
"open": "^10.1.0"
}
}
配置文件
cucumberConfig.js
/**
* @module cucumberConfig
*/
module.exports = {
default: {
requireModule: ['ts-node/register'],
require: ['./steps/**/*.ts', './hooks/**/*.ts', './features/**/*.feature'],
format: ['progress-bar', 'html:test-reports/cucumber-report.html'],
formatOptions: { snippetInterface: 'async-await' },
},
};
settings.json
{
"files.autoSave": "afterDelay",
"editor.fontSize": 20,
"code-runner.clearPreviousOutput": true,
"tabnine.experimentalAutoImports": true,
"window.menuBarVisibility": "compact",
"cucumberautocomplete.steps": "steps/**/*.js",
"cucumberautocomplete.syncfeatures": "features/**/*.features.js"
}
问题描述 尽管有上述配置,我的功能文件中的 Gherkin 步骤并未链接到步骤定义,并且在运行测试时出现
Undefined step
错误。此外,Cucumber 自动完成功能不适用于 VS Code 中的步骤。
采取的解决步骤
require
和cucumberautocomplete.steps
的文件路径与实际文件夹结构匹配。ts
中添加了settings.json
扩展(如上所示)。请求帮助 有人可以帮助识别任何错误配置或提供 Playwright 在 Windows 上使用 TypeScript 和 Cucumber.js 的工作配置示例吗?
谢谢!
我确保 cucumberConfig.js 和 settings.json 中的路径正确并且与我的项目的文件夹结构匹配。具体来说,我检查了:
在 cucumberConfig.js 中:require 路径('./steps//*.ts'、'./hooks//.ts' 和 './features/**/.feature')指向我的步骤定义、挂钩和功能文件的正确目录。 在 settings.json 中: cucumberautocomplete.steps 和 cucumberautocomplete.syncfeatures 选项也符合预期的目录结构。 我希望此配置能够启用功能文件中的 Gherkin 步骤之间的链接
你找到解决办法了吗?我也面临类似的问题