黄瓜元数不匹配正则表达式

cucumber arity mismatch regex

大家好,

我在功能文件上有这一步

When I log in with invalid credentials

并在步骤中定义 class

@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.run(ParentRunner.java:290) at

PS: 我正在使用 cucumber-java 和 cucumber-junit 1.2.4 版本

提前致谢

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