测试驱动开发
Test-driven development
想到了什么...
软件质量
外部质量
内部质量
设计
开发有效率
TDD是什么
涉及UI的测试
功能测试
单元测试
TDD是什么
与极限编程提出的测试先行有关联
是一种软件研发过程,开发风格
可以做到简单设计、增强信心
TDD-软件开发过程
增加一个测试
运行所有的测试,观察新建的测试是失败的
针对新建测试写实现代码
运行所有的测试成功
重构代码
TDD涉及的概念
test double
dummy
fake
stub
mock
一个测试
依据一份订单,出货威士忌产品
订单包含一种产品和这个产品的出货数量,仓库有不同的产品库存。如仓库中有足够的产品则出货,该产品在仓库中的总量减少出货数;如仓库中没有足够的产品,该产品不出货。
订单 order;仓库 warehouse;产品 product;产品清单 inventory
public class OrderStateTest {
private static String TALISKER = “Talisker”;
private static String HIGHLAND_PARK = "Highland Park";
private Warehouse warehouse = new WarehouseImpl();
protected void setUp() {
(TALISKER, 50);
(HIGHLAND_PARK, 25);
}
public void testOrderIsFilledIfEnoughInWarehouse() {
Order order = new Order(TALISKER, 50);
(warehouse);
assertTrue(());
assertTrue(0, (TALISKER));
}
public void testOrderDoesNotRemoveIfNotEnough() {
Order order = new Order(TALISKER, 51);
(warehouse);
assertFalse(());
assertEquals(50, (TALISKER));
}
}
装配-setup
protected void setUp() {
(TALISKER, 50);
(HIGHLAND_PARK, 25);
}
Order order = new Order(TALISKER, 50);
Order order = new Order(TALISKER, 51);
执行-EXCUTION
(warehouse);
测试驱动开发 来自淘豆网m.daumloan.com转载请标明出处.