В недавнем проекте, над которым я работал, мы широко использовали фиктивные объекты в нашем модульном тестировании. Проект был на 100% Java и среднего размера (около 100 000 строк без комментариев). Это было настольное приложение на основе Swing - и единственный эффективный способ, который мы нашли для тестирования логики пользовательского интерфейса, был через вариантный вариант MVC, который позволял нам использовать фиктивные объекты вместо реальных классов пользовательского интерфейса Swing для автоматизированного тестирования. Мы также широко использовали mocking при тестировании уровня доступа к данным (Hibernate / DAO).
При использовании пользовательского интерфейса макеты было легко и просто построить. А в дизайн приложения (Fowler Passive View) легко вписываются издевательства. Это не относится к макетам, используемым при тестировании уровня доступа к данным. Но я могу сказать, что это явно стоило усилий. На самом деле, большая часть «усилий» действительно была направлена на создание многоразового решения, которое сводило к минимуму работу, которую разработчик должен был сделать для создания каждого отдельного макета. Я бы порекомендовал потратить время на то, чтобы разобраться и найти подход для вашей ситуации, который позволяет легко смоделировать слой данных ГИС. Это - или просто вручную макетировать каждый класс. В любом случае, возможность запуска автоматических модульных тестов, основанных на макетах, имеет смысл ...