Добрый вечер,
Я работаю над тем, чтобы разобраться с юнит-тестированием, и у меня возникли небольшие проблемы с определением, насколько далеко я могу провести юнит-тестирование, прежде чем оно превратится в интеграционное тестирование.
Пример из проекта, над которым я сейчас работаю: у него есть класс, который выполняет поиск LDAP в Active Directory с использованием DirectorySearcher и возвращает результаты в виде объектов Person. Моим первым желанием было получить интерфейс для DirectorySearcher, а затем создать довольно сложную заглушку, которую я могу использовать для тестирования. Однако это оказалось проблематичным, поскольку DirectorySearcher, похоже, не использует интерфейс, и для его успешного завершения потребовалось бы много кода.
Моей следующей мыслью было создание класса Searcher, который внутренне использует DirectorySearcher, который позволил бы мне проверить соответствие между результатами LDAP и отображением объекта Person, но это не сильно меня поразило, и это еще один уровень абстракции. .
Итак, я думаю, суть в следующем: есть ли такая структура, чтобы я мог выполнять большую часть своей работы с модульным тестированием? Я бы предпочел, чтобы набор интеграционных тестов был как можно меньшим, поскольку я должен проводить тестирование с использованием внешнего источника данных, который постоянно меняется. Я подозреваю, что есть способ сделать это, но я не смог его найти.
Спасибо!