从功能文件导航到步骤定义:任何插件

Sam*_*amL 1 javascript selenium gherkin webdriver-io visual-studio-code

在 Visual Studio Cod 中,如何从功能导航到步骤定义。我们是否需要任何额外的插件或需要添加任何配置。我已经下载了 Cucumber (Gherkin) Full Support 插件,但仍然无法从 .feature 导航到步骤定义。

Nav*_*jan 5

插件的文档Cucumber (Gherkin) Full Support有对此的解释。

您需要在设置中添加以下内容:

{
"cucumberautocomplete.steps": [
    "test/features/step_definitions/*.js",
    "node_modules/qa-lib/src/step_definitions/*.js"
],
"cucumberautocomplete.syncfeatures": "test/features/*feature",
"cucumberautocomplete.strictGherkinCompletion": true
}
Run Code Online (Sandbox Code Playgroud)

cucumberautocomplete.steps=> 提供步骤定义的路径。 cucumberautocomplete.syncfeatures=> 提供功能文件的路径

此后(可能是重新启动后),cmd + click(在 Mac 上)将执行步骤定义。

谢谢,纳文


chi*_*7CC 5

安装扩展程序后alexkrechik.cucumberautocomplete,我尝试从扩展程序的 UI 及其相应的设置 JSON 修改设置(默认情况下,我的设置位于~/.config/Code/User/settings.json)。但这不起作用,因为我在文件中收到此错误*.featureWas unable to find step for "Some feature description"

\n\n

我注意到我跳过了扩展文档中提到的一个步骤...默认情况下,它是settings.json从我的用户空间而不是我的工作(项目)空间获取的。

\n\n

对我来说,解决方案是转到我的项目的根目录(通常在 和 的外部/srcpackage.jsonnode_modules/创建一个.vscode/文件夹。然后,创建一个文件并将配置以及与该全新文件相关的路径settings.json粘贴到此处。cucumberautocomplete

\n\n

下面我展示了一个架构:

\n\n
myProject/\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 node_modules\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 package.json\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 subdir1\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 src\n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 test\n\xe2\x94\x82       \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 e2e\n\xe2\x94\x82           \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 src\n\xe2\x94\x82               \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 features\n\xe2\x94\x82               \xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 myfeature1.feature\n\xe2\x94\x82               \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 mypageobject1.po.ts\n\xe2\x94\x82               \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 steps\n\xe2\x94\x82                   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 mystep1.step.ts\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 .vscode\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 settings.json\n
Run Code Online (Sandbox Code Playgroud)\n\n

配置示例如下:

\n\n
{\n    "editor.detectIndentation": false,\n    "window.zoomLevel": 0,\n    "cucumberautocomplete.steps": [\n        "subidr1/test/e2e/src/steps/*.steps.ts"\n    ],\n    "cucumberautocomplete.syncfeatures": "subidr1/test/e2e/src/feature/*.feature"\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

请注意,您可以使用**/*.steps.ts**/*.feature路径,但每次扩展设置文件更改时,当您Ctr + Click使用功能描述时,您将需要等待编辑器解析路径。否则就没有等待时间。

\n