Я думаю, что было потрачено больше времени на споры о том, что такое единица измерения по сравнению с тем, что является интеграционным тестом, чем добавлено значение.
Мне все равно.
Позвольте мне выразить это по-другому: если бы я тестировал это, я увидел бы два способа сделать это - подделать базу данных, возвращающую ноль строк, или фактически подключиться к базе данных, в которой нет данных для выбора. Вероятно, я бы начал тестирование с того, что было проще всего и проще всего реализовать - если бы оно работало достаточно быстро, чтобы я мог получить содержательную обратную связь. Тогда я бы подумал о другом, если мне нужно, чтобы он работал быстрее или думал, что будет какое-то преимущество.
Например, я, вероятно, начну подключаться к реальной тестовой БД на своей работе. Но если программное обеспечение должно работать со многими различными базами данных - Oracle, PostGres, MySQL, SQL-сервером и БД, или если тестируемая БД на работе не работает из-за «обновлений», я бы, вероятно, написал «pure / unit» тест, который существовал полностью в изоляции.
В старости я предпочитаю чаще использовать термин «обращенный к разработчику», а не «обращенный к клиенту», и проводить такое тестирование, которое имеет больше смысла. Я часто использую такие термины, как «единица», а затем определение понятия приводит к тому, что люди делают такие вещи, как издевательство над файловой системой или насмешливые методы получения и установки - деятельность, которую я нахожу бесполезной.
Я твердо верю в это; Я представил перед Google на это.
http://www.google.com/url?sa=t&source=web&oi=video_result&ct=res&cd=1&url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DPHtEkkKXSiY&ei=9-wKSobjEpKANvHT_MEB&rct=j&q=heusser+GTAC+2007&usg=AFQjCNHOgFzsoVss50Qku1p011J4-UjhgQ
удачи! Дайте нам знать, как это происходит!