Я знаю так называемое учебное определение юнит-тестов и интеграционных тестов. Что мне любопытно, так это когда пора писать модульные тесты ... Я напишу их, чтобы охватить как можно больше наборов классов.
Например, если у меня есть класс Word
, я напишу некоторые модульные тесты для класса Word
. Затем я начинаю писать свой класс Sentence
, и когда ему нужно будет взаимодействовать с классом Word
, я часто буду писать свои модульные тесты так, чтобы они тестировали Sentence
и Word
... по крайней мере в места, где они взаимодействуют.
Действительно ли эти тесты стали интеграционными, потому что теперь они тестируют интеграцию этих 2 классов, или это просто модульный тест, охватывающий 2 класса?
В общем, из-за этой неопределенной строки я редко буду писать интеграционные тесты ... или я использую готовый продукт, чтобы проверить, все ли части работают правильно в реальных интеграционных тестах, даже если они выполняются вручную и редко повторяются выходит за рамки каждой отдельной функции?
Я неправильно понимаю интеграционные тесты, или на самом деле разница между интеграцией и модульными тестами очень мала?
Редактировать
Спасибо всем за отличные ответы! Я думаю, что из разных ответов ясно, что грань между юнит-тестами и интеграционными тестами определенно размыта, и, возможно, немного педантично пытаться выяснить, какие из них и на чем стоит сосредоточиться (спасибо @Rob Cooper ). Кроме того, извините, но я не собираюсь принимать какой-либо ответ, потому что слишком многие слишком хороши, и это действительно кажется весьма субъективным.