黄瓜arity不匹配正则表达式

时间:2018-02-07 21:08:51

标签: cucumber bdd gherkin

大家好,

我在功能文件

上有这一步
When I log in with invalid credentials

并在stepsDefinition类

@When("^I log in with (wrong|invalid) credentials$")
public void login(){
}

我想在我的功能步骤中使用正则表达式使用错误或无效的单词,但我收到此错误

 with pattern [^I log in with (.*) credentials$] is declared with 0 parameters. However, the gherkin step has 1 arguments [invalid]. Step: When I log in with invalid credentials at cucumber.runtime.StepDefinitionMatch.arityMismatch(StepDefinitionMatch.java:102) at cucumber.runtime.StepDefinitionMatch.transformedArgs(StepDefinitionMatch.java:60) at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:37) at cucumber.runtime.Runtime.runStep(Runtime.java:299) at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44) at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39) at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44) at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at

PS:我使用的是cucumber-java和cucumber-junit 1.2.4版本

提前致谢

1 个答案:

答案 0 :(得分:1)

您需要指定这是一个非捕获组。试试这个(?:wrong|invalid)。 '?:'部分确保黄瓜不会将其作为方法的参数传递。