我正在为我的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 {
...
}