Если я правильно понял вопрос, предполагая, что вы хотите запустить SubProcess только один раз для процесса, то вы ищете таблицу (или схему сценария).
Scenario: Process
Given I start a process
When I have completed the sub process "<x>" "<y>" "<z>"
| x | y | z|
And then I complete task A
And then I complete task B
Then the process is finished
или
Scenario Outline: Process
Given I start a process
When I have completed the sub process "<x>" "<y>" "<z>"
And then I complete task A
And then I complete task B
Then the process is finished
| x | y | z|
Scenario Outline: SubProcess
Given I start a subprocess "<x>"
When I complete task C "<y>"
And then I complete task D "<z>"
Then the process is finished
Examples:
| x | y | z |
@When("^I have completed the sub process (.*) (.*) (.*)$")
public void I_have_completed_the_sub_process(String x, String y, String z) throws Throwable {
I_start_a_subprocess(x);
.....
<your code>;
}
вы также можете огурца вернуть все значения в столбце в виде списка
Но если это включает в себя много конфигурационных данных, вы можете хотите прочитать конфигурацию от источника данных, такого как файл yaml, и передать ключ на этот шаг.
YAML файл:
:configuration:
:x: "val1"
:y: "val2"
:z: "val3"
И ваш шаг занимает только один вход
When I have completed the sub process "<configuration>"
Определение шага разбирает HashMap и передает значения к методам шагов по мере необходимости.
Или вы можете иметь значение в виде таблицы, создать класс конфигурацию и определение шага принимает значение списка в качестве входных данных: https://thomassundberg.wordpress.com/2014/06/30/cucumber-data-tables/
public class Config{
private String x,
private String y,
Private String z }
public void step_definition_function(<List>Config config){}
Так подпроцесс также отдельный сценарий, который может работать на его своя? Не можете ли вы дублировать шаги подпроцесса вместе с данными внутри сценария процесса? – Grasshopper
Hey Grasshopper, да, суб-процесс может работать сам по себе, но есть несколько задач +10 и т. Д., Которые я не хочу поддерживать в двух местах. – IanWatson