【发布时间】:2011-09-14 05:27:08
【问题描述】:
假设我在做 TDD,我写了一个这样的测试:
public void testDeposit()
{
Bank b = new Bank();
b.deposit(100);
AssertEquals(100, b.balance);
}
然后我去使测试通过,继续下一个。假设我连续几次这样做,并让存款、取款和摊销都正常工作。
然后说我想编写一个测试来测试某人创建帐户并执行所有操作的组合。这在技术上不是集成测试,而不是单元测试吗?如果是,这是否适合 TDD,或者 TDD 是否应该只包含单元测试。
我主要是因为,如果这个测试失败,很可能其他测试之一应该失败,如果他们没有,我可能只是没有用正确数量的场景测试它们。那么当涉及到 TDD 时,我应该在与单元测试相同的域中进行集成测试,还是应该将它们写在其他地方的另一个类/文件中并单独运行?
【问题讨论】:
-
另一种皮肤方式.. 将是 TDD => 单元测试 => 一次针对一个对象的一种行为。 ATDD => 场景测试 => 一次一个用户场景。
标签: unit-testing tdd integration-testing