Yog*_*raj 9 scenarios cucumber cucumber-jvm
我需要传递黄瓜场景中的字符串列表,如下所示
Scenario Outline: Verify some scenario
Given something
When user do something
Then user should have some "<data>"
Examples: Some example
|data|
|Test1, Test2, Test3, Test4|
Run Code Online (Sandbox Code Playgroud)
在步骤定义中,我使用List检索某些变量的值。但是,当数据变量的值之一包含逗号(例如Tes,t4)时,它将变得复杂,因为它将“ Tes”和“ t4”视为两个不同的值
Examples: Some example
|something|
|Test1, Test2, Test3, Tes,t4|
Run Code Online (Sandbox Code Playgroud)
所以我可以使用任何转义字符还是有其他方法来处理这种情况
Ran*_*h's 11
这应该适合你:
Scenario: Verify some scenario
Given something
When user do something
Then user should have following
| Test1 |
| Test2 |
| Test3 |
| Tes,t4|
Run Code Online (Sandbox Code Playgroud)
在步骤定义中
Then("^user should have following$")
public void user_should_have_following(List<String> testData) throws Throwable {
#TODO user your test data as desired
}
Run Code Online (Sandbox Code Playgroud)
尝试在列中设置示例,如下所示:
| data |
| Test1 |
| Test2 |
| Test3 |
| Tes,t4 |
Run Code Online (Sandbox Code Playgroud)
这将运行该场景 4 次,期望“某些内容”更改为下一个值。首先是“测试 1”,然后是“测试 2”,依此类推。
在步骤定义中,您可以像这样使用该数据:
Then(/^user should have some "([^"]*)"$/) do |data|
puts data
end
Run Code Online (Sandbox Code Playgroud)
如果要使用|Test1, Test2, Test3, Tes,t4|,请将“,”更改为“;” 例如:|Test1; Test2; Test3; Tes,t4|并在步骤定义中分割数据:
data.split("; ")这导致["test1", "test2", "test3", "te,st"]
将数据转换为列表(Java 中):
String test = "test1; test2; test3; tes,t4";
String[] myArray = test.split("; ");
List<String> myList = new ArrayList<>();
for (String str : myArray) {
myList.add(str);
}
System.out.print(myList);
Run Code Online (Sandbox Code Playgroud)
更多相关内容请点击此处
| 归档时间: |
|
| 查看次数: |
24379 次 |
| 最近记录: |