Вы должны проверить как можно скорее, потому что вы хотите, чтобы ошибки появлялись как можно скорее, в идеале, пока наш код все еще находится под вашим собственным контролем. Чем позже будет обнаружена ошибка, тем выше будет стоимость исправления.
Если вы демонстрируете нетривиальную логику, вам следует проверить логику основных путей принятия решений с помощью модульных тестов, а также выявить эту логику и взаимодействие с внешними зависимостями в интеграционных тестах.
Если вы одинокий разработчик или работаете в небольшой команде, иногда трудно увидеть различие между модульными и интеграционными тестами. Если вы находитесь в среде, где несколько команд работают над одним продуктом, предполагается, что логика в вашем коде уже проверена (модульное тестирование), и теперь вы хотите увидеть, как модули работают друг с другом (интеграционный тест) ,
Не следует загружать слишком много данных в интеграционном тесте, потому что вы откладываете тестирование на более поздний этап в своем проекте или среде разработки, и рано или поздно вы обнаружите, что обнаруживаете ошибки, как только Код покинул ваш стол. Это будет означать задержку всего и, возможно, выпуска продукта, пока вы исправляете то, что могли и должны были обнаружить ранее.