基于基本类型(int、char、double 和 long 等等)、合并的基本类型(例如,Integer 或 Double)或 Strings 的自变量可以作为测试数据表中的单个行来实现可视化。另一方面,复杂对象不能在测试数据表的单个行中实现可视化,必须在多个表行中分层表示它。复杂对象的每一行都被称为属性。
Rational® Developer 产品提供了几种方式来定义对象及其属性,这些定义以下列项为基础:
在测试数据表中单击任何表示对象(带有定义属性)的单元格时,将显示一个列表,该列表中包含该对象的若干组不同的定义属性,如以下屏幕捕获中所示:
在此图中,为 Date 类型的对象提供了几组定义属性。
当选择其中一组定义属性时,用来表示对象的行将展开,以显示已经为该对象选择的定义属性(在此例中为设置属性),如以下屏幕捕获中所示:
对象的定义属性不仅用来定义测试数据表中的对象,而且用来比较验证操作中的对象。如果已经使用了特定于类或接口的支持来初始化对象,则将使用相同的支持来执行比较。如果已经使用构造函数来初始化对象,则将使用全局比较(equals() 方法)来对实际值与期望值进行比较。如果已经使用特性来初始化对象,则将通过比较每个特性(属性)来对实际值与期望值进行比较。
如果需要定义的参数或返回类型是用于接口或抽象类的,则将需要把数据类型更改为用来实现接口或扩展抽象类的子类,以便真正地定义对象的属性。例如,以下方法将 IMoney 接口作为参数:
public add (IMoney m)
在测试数据表中,将需要把 IMoney 接口更改为用来实现 IMoney 的类,例如,Money。有关详细信息,请参阅使用子类来初始化和测试对象。
为下列类提供了特殊支持: