在jbehave中可以使用参数化表格参数吗?

时间:2019-06-06 15:36:12

标签: groovy jbehave

比方说,我有一些主要的应用程序代码,它们使用某种模式来更改文件名。在jbehave故事中,我想将此模式和预期的文件名移至“示例”。问题是“预期文件名”列应包含模式(上一列)。可以在“示例”部分中使用“变量”吗?

故事文件

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

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

高兴

@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

expectedFName == AAA_someString.rtf

1 个答案:

答案 0 :(得分:1)

许多方法可以实现这一点。例如

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)

您可以使用regexp或动态groovy评估来代替%s + String.format