cuke4duke.Table.rows()和cuke4duke.Table.raw()有什么区别?

时间:2012-06-07 20:25:35

标签: cucumber

cuke4duke.Table.rows()cuke4duke.Table.raw()之间的区别 ?

我发现当我传递一个只有一行的表时,rows()会返回一个大小为0的列表;

黄瓜步骤

Then I see the following projects in the ProjectList
| My Private Project |

Java实施

@Then ("^I see the following projects in the ProjectList$")
public void iSeeTheFollowingProjectsInProjectList(cuke4duke.Table table) {
    table.rows().size(); // gives 0 
    table.raw().size(); // gives 1

但以下确实按预期工作确实如此!

黄瓜步骤

Then I see the following projects in the ProjectList
| Regression Project 3 |
| My Private Project |

Java实施

@Then ("^I see the following projects in the ProjectList$")
public void iSeeTheFollowingProjectsInProjectList(cuke4duke.Table table) {
    // When I asked, I thought this was returning 2, but it's not, it's returning 1
    table.rows().size();
    table.raw().size(); // gives 2

1 个答案:

答案 0 :(得分:2)

您的结果在Cucumber-Ruby中无法重现 对于第一种情况,Table#rows()返回0结果,Table#raw() - 1结果
对于第二种情况,Table#rows()返回1个结果,Table#raw() - 2个结果

Table#rows()将第一行识别为表格标题。

因此,如果您的结果是真的(我还没有检查过),那么它可能是Cuke4Duke中的一个错误。

但是Cuke4Duke的所有工作都是defunkt所以它不会得到修复。