我想从步骤中传递字符串,如下面的代码所示:
test.feature
Then I pass a string ""abc" : "12""
test.java
@Then("I pass a string\"([^]*)\"")
public void function(String data)
{
System.out.println(data)
}
我传递的字符串("" abc":" 12"")与正则表达式匹配(\"([ ^] *)\")。理想情况下,期望是函数应该打印
"abc" : "12"
但函数调用没有发生。我的正则表达式是否有任何错误...可以做些什么来达到预期的结果(即打印" abc":" 12")
我是黄瓜java的新手,请原谅我,如果我的问题听起来很愚蠢。
答案 0 :(得分:1)
正则表达式与文本不匹配,因为您在第一个引号之前没有考虑到空格。
添加缺失的空格并使用.+
匹配该组:
@Then("I pass a string \"(.+)\"")
public void function(String data)
{
System.out.println(data)
}