tdd的t不是集成测试

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这个方法是必须存在的,那谁来测试它呢?这应该是集成测试。

猜你喜欢

转载自hyj1254.iteye.com/blog/1086236
TDD