在 fitnesse ColumnFixture 中同时使用列和先前定义的值
Use both columns and previously defined values in fitnesse ColumnFixture
我的测试中的行-table 都重复相同的值,除了每行不同的两列。我想使用我之前为重复行定义的值。
Fixture 将文件上传到FTP,test-table 中的每一行现在都有用户名、密码、主机等,这些始终相同。文件名不同。
如果您的测试使用 Slim,您可以使用 constructor parameters 在 table 的第一行(即 header)中定义重复值。在这种情况下,您只需在 table 的行中定义文件名。
如果您的 table 是基于 'scenario' 的 'decision table',您还可以在 header 行中提供重复参数(使用 'having' 语法).可以在 FitNesse's own acceptance tests 中找到更多详细信息。例如:
|scenario |Division _ _ _|numerator, denominator, quotient?|
|setNumerator |@numerator |
|setDenominator|@denominator |
|$quotient= |quotient |
|Division |having|numerator|9|
|denominator|quotient? |
|3 |3.0 |
|2 |4.5 |
另一个选项,但当所有行的值都相同时,这似乎不太合适,是使用 baseline decision table,其中第一行定义所有列的值,后续行仅定义更改后的值.
您可以使用 FitNesse 变量:
!define username {bob}
!define password {secret}
|myfixture|
|username|password|other|stuff|
|${username}|${password}|a|b|
|${username}|${password}|c|d|
|${username}|${password}|x|y|
Fried Hoeben 的 answer 为 Slim 工作,以下答案适合:
如果您的 Fixture 是 Fixture 的 child,那么您可以通过在 header 行中添加额外的列来定义额外的参数。
|!-UploadFileToFtps-! |ftpPassword=${password} | ftpUserName=${userName}|
|host |ftpDir |localFile |result? |
|${ftpHost}|${ftpSrc}|${folder1}${file1}.xlsx |File '${folder1}${file1}.xlsx' successfully uploaded|
|${ftpHost}|${ftpSrc}|${folder2}${file2}.xlsx |File '${folder2}${file2}.xlsx' successfully uploaded|
|${ftpHost}|${ftpSrc}|${folder2}${file3}.pdf |File '${folder2}${file3}.pdf' successfully uploaded |
您可以使用检索字符串数组的 getArgs() 访问这些列中的值。
我使用由“=”分隔的 key-value 对,这使我能够使用命名参数。否则我将不得不按顺序引用参数,我认为这是错误的。
我的测试中的行-table 都重复相同的值,除了每行不同的两列。我想使用我之前为重复行定义的值。
Fixture 将文件上传到FTP,test-table 中的每一行现在都有用户名、密码、主机等,这些始终相同。文件名不同。
如果您的测试使用 Slim,您可以使用 constructor parameters 在 table 的第一行(即 header)中定义重复值。在这种情况下,您只需在 table 的行中定义文件名。
如果您的 table 是基于 'scenario' 的 'decision table',您还可以在 header 行中提供重复参数(使用 'having' 语法).可以在 FitNesse's own acceptance tests 中找到更多详细信息。例如:
|scenario |Division _ _ _|numerator, denominator, quotient?|
|setNumerator |@numerator |
|setDenominator|@denominator |
|$quotient= |quotient |
|Division |having|numerator|9|
|denominator|quotient? |
|3 |3.0 |
|2 |4.5 |
另一个选项,但当所有行的值都相同时,这似乎不太合适,是使用 baseline decision table,其中第一行定义所有列的值,后续行仅定义更改后的值.
您可以使用 FitNesse 变量:
!define username {bob}
!define password {secret}
|myfixture|
|username|password|other|stuff|
|${username}|${password}|a|b|
|${username}|${password}|c|d|
|${username}|${password}|x|y|
Fried Hoeben 的 answer 为 Slim 工作,以下答案适合:
如果您的 Fixture 是 Fixture 的 child,那么您可以通过在 header 行中添加额外的列来定义额外的参数。
|!-UploadFileToFtps-! |ftpPassword=${password} | ftpUserName=${userName}|
|host |ftpDir |localFile |result? |
|${ftpHost}|${ftpSrc}|${folder1}${file1}.xlsx |File '${folder1}${file1}.xlsx' successfully uploaded|
|${ftpHost}|${ftpSrc}|${folder2}${file2}.xlsx |File '${folder2}${file2}.xlsx' successfully uploaded|
|${ftpHost}|${ftpSrc}|${folder2}${file3}.pdf |File '${folder2}${file3}.pdf' successfully uploaded |
您可以使用检索字符串数组的 getArgs() 访问这些列中的值。 我使用由“=”分隔的 key-value 对,这使我能够使用命名参数。否则我将不得不按顺序引用参数,我认为这是错误的。