Я пишу репозиторий . Выборка объектов осуществляется через DAO. Создание и обновление объектов выполняется с помощью объекта Request, который передается объекту RequestHandler (например, Шаблон команды ). Я не писал DAO, Request или RequestHandler, поэтому не могу их изменить.
Я пытаюсь написать тест для этого хранилища. Я издевался над DAO и RequestHandler. Моя цель состоит в том, чтобы заставить измененный RequestHandler просто добавить новый или обновленный объект в проверяемый DAO. Это создаст иллюзию, что я разговариваю с БД. Таким образом, мне не нужно издеваться над хранилищем для всех классов, которые вызывают это хранилище.
Проблема в том, что объект Request - это набор больших двоичных объектов и различных буквенно-цифровых кодов. Я почти уверен, что XML тоже задействован. Это что-то вроде беспорядка. Другой разработчик пишет код для создания объекта Request на основе хранимых объектов. И поскольку RequestHandler принимает запросы, а не объект, который я храню, он не может обновить поддельные DAO.
Итак, вопрос: я тоже издеваюсь над Запросом или я должен подождать, пока другой парень, который немного медлителен, закончит свой код, прежде чем писать тест? Или прикрутите его и макетируйте весь репозиторий при тестировании классов, которые вызывают репозиторий?
Кстати, я говорю «макет» не в смысле NMock, а скорее как фальсификация БД с помощью коллекции в памяти.