Итак, скажите, что я делаю TDD, и я пишу такой тест:
public void testDeposit()
{
Bank b = new Bank();
b.deposit(100);
AssertEquals(100, b.balance);
}
Тогда я иду и делаю тестовый проход, перехожу к следующему. Скажем, я делаю это несколько раз подряд и получаю депозиты, снятие средств и амортизацию - все работает.
Тогда скажите, что я хочу написать тест, который проверяет, кто-то создает учетную запись и делает комбинацию всего. Разве это технически не является интеграционным тестом, а не модульным тестом? Если да, соответствует ли это TDD или TDD должен состоять только из модульных тестов.
В основном я спрашиваю, потому что, если этот тест не пройден, скорее всего, один из других тестов должен сломаться, а если нет, я, вероятно, просто не тестировал их с нужным количеством сценариев. Поэтому следует ли мне проводить интеграционные тесты в том же домене, что и модульные тесты, когда речь идет о TDD, или они должны быть записаны в другом классе / файле где-то еще и выполняться отдельно?