java - 如何传递带有黄瓜表达式的字符串?
问题描述
我是黄瓜自动化测试的新手。我有一个 Maven 项目,我尝试传递一个字符串,但我有这个错误。
Feature: writing a sentence
Scenario: As a admin i want to write a sentence
Given write a subject "Administrator"
When write a verb
Then write a complement
@Given("write a subject {string}")
public void writeSubject(String text)
{
System.out.println(text);
System.out.println("lamia");
}
cucumber.runtime.CucumberException:java.util.regex.PatternSyntaxException:索引 15 附近的非法重复在 cucumber.runtime.java.JavaBackend.addStepDefinition(JavaBackend.java:156) 处的 cucumber.runtime.java 处写入主题 {string} ^。 MethodScanner.scan(MethodScanner.java:68) 在 cucumber.runtime.java.MethodScanner.scan(MethodScanner.java:41) 在 cucumber.runtime.java.JavaBackend.loadGlue(JavaBackend.java:86) 在 cucumber.runtime.Runtime .(Runtime.java:92) 在 cucumber.runtime.Runtime.(Runtime.java:70) 在 cucumber.runtime.Runtime.(Runtime.java:66) 在 cucumber.api.junit.Cucumber.createRuntime(Cucumber.java :80) 在 cucumber.api.junit.Cucumber.(Cucumber.java:59) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 在 sun.reflect。NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java: 104) org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:86) org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) org.junit.internal.builders.AllDefaultPossibilitiesBuilder .runnerForClass(AllDefaultPossibilitiesBuilder.java:26) 在 org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59) 在 org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:33) 在 org. eclipse.jdt.internal.junit4.runner.JUnit4TestLoader。createUnfilteredTest(JUnit4TestLoader.java:90) 在 org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:76) 在 org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader. java:49) 在 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:525) 在 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:763)在 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:463) 在 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:209) 原因:java .util.regex.PatternSyntaxException:索引 15 附近的非法重复在 java.util.regex.Pattern.error(Unknown Source) at java.util.regex 处写入主题 {string} ^。Pattern.closure(Unknown Source) at java.util.regex.Pattern.sequence(Unknown Source) at java.util.regex.Pattern.expr(Unknown Source) at java.util.regex.Pattern.compile(Unknown Source) at java.util.regex.Pattern.(Unknown Source) 在 cucumber.runtime.java.JavaBackend.pattern(JavaBackend.java:203) 在 cucumber.runtime.java 的 java.util.regex.Pattern.compile(Unknown Source)。 JavaBackend.addStepDefinition(JavaBackend.java:151) ... 25 更多203) 在 cucumber.runtime.java.JavaBackend.addStepDefinition(JavaBackend.java:151) ... 25 更多203) 在 cucumber.runtime.java.JavaBackend.addStepDefinition(JavaBackend.java:151) ... 25 更多
解决方案
在特定功能文件的步骤中尝试此操作:
Scenario: As an admin, I want to write a sentence
Given write a subject <Administrateur>
在 Java 步骤中:
@Given("^write a subject \"([^\"]*)\"")
public void writeSubject(final String text){...
推荐阅读
- r - 将 stringr::str_glue 与管道一起使用
- r - 用平均值查找和填充缺失的观测值(整行而不是 NA 值)
- python - 找不到匹配的函数来调用从 SavedModel 加载
- flutter - 在初始化器 baseTextStyle 中只能访问静态成员
- dfa - Epsilon 转换如何用于 NFA 到 DFA 的转换?
- python - 在窗口中创建坐标查找
- javascript - 使用 JavaScript 悬停鼠标移动
- swift - 将 ImageData 从一个视图控制器传递到另一个视图控制器
- c# - 如何在 View .Net Core 中呈现 JavaScript 的实际脚本
- phoenix-framework - 在“插入”中的类型不匹配:整数