У меня есть проект, с которым я пытаюсь изучить модульное тестирование и методы TDD. Я нахожу, что я попадаю в довольно запутывающие случаи, когда я долгое время настраиваю mocks для класса полезности, который используется практически везде.
Из того, что я прочитал об модульном тестировании, если я тестирую MyClass, я должен высмеивать любые другие функции (например, предоставляемые UtilityClass). Является ли это приемлемым (если предположить, что UtilityClass сам имеет полный набор тестов) просто использовать UtilityClass, а не настраивать макеты для всех различных тестовых случаев?
Изменить: Одна из вещей, для которых я много настраиваю. Я моделирую карту, с разными объектами в разных местах. Одним из распространенных методов моего класса утилит является GetDistanceBetween. Я тестирую методы, которые влияют на вещи в зависимости от их индивидуальных свойств, поэтому, например, тест, который выбирает все объекты в пределах 5 единиц точки и возраст старше 3, потребует нескольких тестов (ставит старые объекты в пределах диапазона, игнорирует старые объекты диапазона, игнорирует юные объекты в радиусе действия, работает правильно с кратным каждому случаю), и все эти тесты нуждаются в настройке метода "GetDistanceBetween". Умножьте это на каждый метод, который использует GetDistanceBetween (почти каждый), и различные результаты, которые метод должен возвращать в разных обстоятельствах, и он получает много настроек.
Я вижу, что, развивая это дальше, может быть больше вызовов класса утилит, большого количества объектов и большого количества настроек в этих модельных классах утилиты.