Cucumber 捕获自定义表达式 Java - 如何允许在功能步骤中输入字符串?
Cucumber Capture Custom Expressions Java - How to allow for string entry in feature steps?
我们正在尝试完全切换到 Cucumber 表达式,不再使用 Regex。我的问题是,是否可以创建一个允许在功能文件中输入字符串的类型?
例如:("second" 用户是)而不是(第二个用户是)
这是我正在使用的自定义 paramType 方法。
registry.defineParameterType(new ParameterType<>(
"universalKey",
"1st|first|2nd|second|3rd|third",
String.class,
(String arg) -> arg
));
目前它不允许输入任何字符串,但我想用引号将其保留下来以避免重做很多功能 files/steps。
您可以尝试使用反斜杠“\”转义双引号。
the \"second\" user is
参考这里 - https://cucumber.io/docs/cucumber/cucumber-expressions/#escaping
我最终弄明白了,虽然没有使用它,但以下是我们是如何做到的:
registry.defineParameterType(new ParameterType<>(
"numbers",
"\"(1st)"\|\"(first)"\|\"(2nd)"\|\"(second)"\",
String.class,
(String arg) -> arg
));
我们正在尝试完全切换到 Cucumber 表达式,不再使用 Regex。我的问题是,是否可以创建一个允许在功能文件中输入字符串的类型?
例如:("second" 用户是)而不是(第二个用户是)
这是我正在使用的自定义 paramType 方法。
registry.defineParameterType(new ParameterType<>(
"universalKey",
"1st|first|2nd|second|3rd|third",
String.class,
(String arg) -> arg
));
目前它不允许输入任何字符串,但我想用引号将其保留下来以避免重做很多功能 files/steps。
您可以尝试使用反斜杠“\”转义双引号。
the \"second\" user is
参考这里 - https://cucumber.io/docs/cucumber/cucumber-expressions/#escaping
我最终弄明白了,虽然没有使用它,但以下是我们是如何做到的:
registry.defineParameterType(new ParameterType<>(
"numbers",
"\"(1st)"\|\"(first)"\|\"(2nd)"\|\"(second)"\",
String.class,
(String arg) -> arg
));