feature文件没有在Java类中获取步骤定义



我正在为我的java项目编写一些黄瓜测试。我的测试运行得很好,但在我的.feature文件中出现了一个小警告。

下面,我将一个整数从.feature文件传递到一个单独的java类中的步骤定义中

在我的.feature文件中,下面的步骤下面会出现一条黄色的歪歪扭扭的线:

Then the status code should be <StatusCode>

我收到的警告信息是:

未找到the status code should be的定义

这是我的功能文件示例表:

| StatusCode |
| 200        |

下面是我的步骤定义:

@Then("^the status code should be (\d+)$")

此错误使我无法Ctrl+单击">Then"语句,从而进入java类中的上述步骤定义。

有人对可能出现的问题有什么建议吗?

也许这不是通过示例表传递整数的方式

要匹配step方法的regexp必须与步骤中的文本匹配(字面上(。

如果你的步骤是

Then the status code should be <StatusCode>

粘贴代码中的regexp

@Then("^the status code should be (\d+)$")

将与StatusCode不匹配(因此不能按住CTRL键并单击它(。

下面这个简单的例子就行了。

Scenario Outline: outline
Given something
Then the status code should be <StatusCode>
Examples:
| StatusCode |
| 200        |

以及链接步骤定义

@Then("^the status code should be ([^"]*)$")
public void theStatusCodeShouldBe(String statusCode) throws Throwable {
...
}

edit如果您想将状态代码传递为Integer,您可以将步骤定义的签名更改为

@Then("^the status code should be ([^"]*)$")
public void theStatusCodeShouldBe(Integer statusCode) throws Throwable {
...
}

相关内容

  • 没有找到相关文章

最新更新