大家好,
我在功能文件
上有这一步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版本
提前致谢
答案 0 :(得分:1)
您需要指定这是一个非捕获组。试试这个(?:wrong|invalid)
。 '?:'部分确保黄瓜不会将其作为方法的参数传递。