返回 ID 的 Java Fitnesse Slim 灵活数据生成器

问题描述

在这里有点进退两难和/或目前看不到其他选项

我知道如何调用一个fixture方法来存储一个对象并返回带有预定义参数的对象

|$car=|create Test Car          |

我知道如何调用使用 setter 的装置,并以这种方式灵活使用字段 - 没有预定义的参数

 !|Car Fixture                         |
|ContactEmailadres  |ContactTelefoonnummer|
|klaasJanHotmail.com|0612345678           |

最后一个接近完美的场景,但是我想存储或返回对象或至少一个字段 (id) 以供以后在测试中使用。

到目前为止我想到的并陷入困境

使用符号

getEnvironment().setSymbol("carID",car.getID()); //Dunno if this works because I was not succesful so far in calling it in the code after the script

尝试使用 setter 和方法 还没有找到链接这些方法方法,尝试了如下所示的变体

 !|Car Fixture                         | |
|ContactEmailadres  |ContactTelefoonnummer|create Test Car |
|klaasJanHotmail.com|0612345678           |$car=

所以基本上灵活使用参数和返回类型是目标,我猜fitnesse 语法的缺乏经验是问题所在!

提前致谢!

解决方法

您可以在最后一个表中使用该方法(尽管我怀疑您忘记复制最后一个 |)。 我猜你在那种情况下使用的是“dynamic decision table”?我不是 100% 确定它像那样开箱即用,因为我从来没有像那样使用它。但我怀疑您需要在 ? 列标题中添加一个 create Test Car,以表明它是您想要检索而不是设置其值的方法。

我已经实现了我的 own fixture,它允许设置这样的符号,所以它确实有效;-)。我知道这在决策表直接调用场景而不是 Java 类时有效。

我一般建议在决策表中使用 scenario with output parameters。我确信它是开箱即用的,不需要任何复杂的固定装置。在名称以 ? 结尾的列中,您可以根据决策表中指定的值检查值,或将其分配给符号。 (场景方法还允许您在测试中进一步使用返回值之前检查返回值是否符合您的预期标准。)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...