在fitnesse ColumnFixture中使用两列和先前定义的值

时间:2018-03-27 09:01:57

标签: fitnesse

我的test-table中的所有行都重复相同的值,但每行的两列不同。我想使用我之前为重复行定义的值。

Fixture将文件上传到FTP,测试表中的每一行现在都有用户名,密码,主机等,这些都是一样的。该文件的名称不同。

3 个答案:

答案 0 :(得分:1)

如果你的测试使用Slim,你可以使用constructor parameters来定义表格第一行(即标题)中的重复值。在这种情况下,您只需要在表格的行中定义文件名。

如果您的表格是决策表格,基于一个场景'您还可以在标题行中提供重复的参数(使用'具有'语法)。更多细节可以在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,其中第一行定义所有列的值,后续行仅定义更改的值。 / p>

答案 1 :(得分:0)

您可以使用FitNesse变量:

!define username {bob}
!define password {secret}

|myfixture|
|username|password|other|stuff|
|${username}|${password}|a|b|
|${username}|${password}|c|d|
|${username}|${password}|x|y|

答案 2 :(得分:0)

Fried Hoeben的answer适用于Slim,以下答案适合:

如果您的Fixture是Fixture的子项,那么您可以通过在标题行中添加额外的列来定义额外的参数。

|!-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()访问这些列中的值,以检索字符串数组。 我使用由'='分隔的键值对,这使我能够使用命名参数。否则我将不得不按顺序引用参数,我认为这是错误的。

相关问题