public void testMixedAddition() { Expression fiveBucks= Money.dollar(5); Expression tenFrancs= Money.franc(10); Bank bank= new Bank(); bank.addRate("CHF","USD",2); Money result= bank.reduce(fiveBucks.plus(tenFrancs),"USD"); assertEquals(Money.dollar(10),result); }
这是kent的一段代码,目的是测试:法郎与美元汇率2比1时,10法郎+5美元等于10美元。也许客户端需要的接口是:
public Money mixedAddition(dollar,france,rate){...}但kent并没有直接测试这类接口,而是测试完成这个功能所需要的所有子接口:addRate()、plus()、reduce()等。很明显,mixedAddition这个方法是必须存在的,那谁来测试它呢?这应该是集成测试。 原文链接:/javaschema/287221.html