如何传递参数 "abc" : "12" to a cucumber(Java) 步骤

How to pass a parameter "abc" : "12" to a cucumber(Java) step

我想从一个步骤传递字符串,如下面的代码所示:

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,如果我的问题听起来很愚蠢,请原谅我。

正则表达式与文本不匹配,因为您有一个 space 没有在第一个引号之前说明。

添加缺失的space并使用.+匹配组:

@Then("I pass a string \"(.+)\"")
public void function(String data)
{
    System.out.println(data)
}