Intellij黄瓜方案大纲未定义步骤定义

问题描述 投票:1回答:1

我已经阅读了Stackoverflow中有关类似问题的大量文章,但是其中大多数与场景中的步骤有关,而不是场景概述。我的问题是,尽管Intellij为我生成了步骤定义存根,但它无法识别该步骤(当步骤包含变量时),并且它定义的步骤对于方案大纲而言似乎不正确。如果我可以举一个例子来说明:这个黄瓜步骤:

enter image description here

生成以下步骤定义:enter image description here

这里的两个问题是特征步骤保留了米色背景,表明该步骤未定义,当您将鼠标悬停在该步骤上时,弹出工具提示会确认这一点。其次,步骤定义代码没有传递给它的变量,代表我的方案大纲中的选项。我本来希望生成的代码是下面显示的我编辑过的代码,但是这也不被认为是步骤定义。enter image description here我尝试创建两个类似的步骤,但是在我的方案大纲示例中更改了实际值的名称,但这不起作用,并且我没有安装Substeps插件。我的所有单个场景生成步骤都会在生成后立即被识别,但是问题特别在于场景概述。可以识别方案大纲中的给定步骤,或者任何没有变量的步骤。我花了整整一周的时间在网上进行搜索,以找到解决方案,但方案概述示例很少。我已经使用Visual Studio和SpecFlow插件进行了类似的练习,这很容易。

intellij-idea cucumber-java
1个回答
3
投票

在对场景大纲中的单个步骤进行了更多测试之后,我发现了一个解决方案-用(。*)替换您的'变量',因此在上面的示例中,公认的步骤定义代码为:]]

When("the user clicks the (.*) link", (String link) -> {
        // Do some test stuff here.
    });

这似乎没有遵循黄瓜步骤定义表达式,该表达式显然将黄瓜步骤链接到步骤定义(see here)。我本来以{String}作为表达式。另外,它不是Intellij的Alt + Enter自动生成的内容。

但是,在“用户单击“此处的任何文本”链接“之后的任何黄瓜步骤中,它都将看到此步骤的定义。


0
投票

@@ marit:仅适用于(*),不适用于“新的”黄瓜表达式。首先要开始。

© www.soinside.com 2019 - 2024. All rights reserved.