undefinedStepdefinitionException - 匹配多个短语黄瓜步骤定义

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

美好的一天 我最近从 cucumber-java8 转换为 cucumber-java,并且在步骤定义中遇到了正则表达式的问题。

Cucumber 无法识别我们在一步定义下合并的步骤。

示例:

@Given(" client (created)/(requests to create) application for code {string}")
public void client_createdrequests_to_create_application_for_code_string(String code) {
// code for steps
}

特征文件1:

client created application for code 200

功能文件2:

client requests to create application for code 201

我尝试为大括号(,)添加转义字符,但仍然面临同样的问题

@Given(" client \\(created)/\\(requests to create) application for code {string}")
public void client_createdrequests_to_create_application_for_code_string(String code) {
// code for steps
}

你能告诉我这个案例应该怎么做才能让黄瓜识别出来吗?连同逃避黄瓜的表情

新的cucumber-java版本是7.12.1 黄瓜小黄瓜 7.13.0

提前致谢

automated-tests cucumber bdd cucumber-java
1个回答
0
投票

Cucumber 使用正则表达式将步骤与定义进行匹配。捕获与模式匹配的任何内容的简单方法是使用

(.*)
:

@Given(" client (.*) application for code {string}")
public void client_createdrequests_to_create_application_for_code_string(String code) {
    // code for steps
}

如果您特别想匹配这些单词而不是其他单词,您可以使用

|
(OR):

@Given(" client (created|requests to create) application for code {string}")
public void client_createdrequests_to_create_application_for_code_string(String code) {
    // code for steps
}

有关更多信息,请查看正则表达式。

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