В jbehave возможно ли использовать параметризованный табличный параметр? - PullRequest
0 голосов
/ 06 июня 2019

Допустим, у меня есть основной код приложения, который меняет имена файлов с использованием некоторого шаблона.В истории jbehave я хочу переместить этот шаблон и ожидаемое имя файла в «Примеры».Проблема в том, что столбец «ожидаемое имя файла» должен содержать шаблон (предыдущий столбец).Можно ли использовать «переменные» в разделе «Примеры»?

файл истории

Given that exist file named originalFName
When …
Than file name should be expectedFName

Examples:
|pattern    | originalFName | expectedFName   |
|someString | pattern.txt   | AAA_pattern.rtf |

grrovy

@Given('that exist file named $originalFName')
void isFileExist(@Named('originalFName') String fName) {…}

@Than('file name should be expectedFName')
void fNameShouldBe(@Named('expectedFName') String expectedFName) {…}

Так что мне интересно получить, когдаскомпилировано (в данном случае)

originalFName == someString.txt

ОжидаемоеFName == AAA_someString.rtf

1 Ответ

1 голос
/ 06 июня 2019

много способов реализовать это.например

Given fileNamePart
When exist file named originalFName
When …
Than file name should be expectedFName

Examples:
|fileNamePart| originalFName | expectedFName   |
|someString  | %s.txt        | AAA_%s.rtf      |

и в коде просто замените %s на fileNamePart:

originalFName = String.format(originalFName,fileNamePart)

вместо %s + String.format, вы можете использовать регулярное выражение или динамический groovyоценка ...

...