3

我需要在一页中的两个表之间传递一个对象(我自己的业务对象)。该值是从一个夹具中的 getter 调用获得的,然后应该用作另一个夹具(两个 ColumnFixtures)中的字段。请注意,要传递的对象既不是原始对象也不是字符串,转换也不是那么简单。甚至可能吗?如果是这样,那怎么办?

4

2 回答 2

2

假设您有两个列夹具表,例如:

|TableOne            |
|inputOne|outputOne()|
|7       |14         |

|TableTwo            |
|inputTwo|outputTwo()|
|6       |20         |

然后在相应的代码中,您可以将要传递的对象存储在静态变量中(我在int这里使用的是,但任何类型都可以):

public class TableOne extends fit.ColumnFixture {
    public static int result;
    public int inputOne;
    public int outputOne() {
        result = inputOne * 2;
        return result;
    }
}

public class TableTwo extends fit.ColumnFixture {
    public int inputTwo;
    public int outputTwo() {
        return TableOne.result + inputTwo;
    }
}

ColumnFixture但是,我建议您不要使用s,而是查看 Rick Mugridge 的 fitlibrary(特别是DoFixture),它允许固定装置以更优雅的方式进行通信。

于 2009-06-30T13:33:03.353 回答
0

我去看看fitlibrary,谢谢。与此同时,我刚刚找到了不同的可能更好的方法:

使用 fit API 并将值保存到符号映射中。您可以通过常规字段设置地图的键,然后像这样检索它:Fixture.setSymbol(...) 然后 Fixture.getSymbol(...)。上面提到的方法也是静态的,但是这种方法提供了更多的灵活性,因为变量值不是在代码中硬连线,而是在映射中索引:-)

于 2009-07-03T12:57:09.087 回答