Если DAL не несет ответственности за соблюдение определенных правил приложения в хранилище данных, то нет необходимости проверять соответствие тестовых данных этим правилам более высокого уровня. Модульный тест должен только проверить, что DAL обеспечивает соблюдение правил, которые являются его обязанностью - предположительно такие вещи, как соблюдение ограничений базы данных, типов данных и т. Д. Данные должны соответствовать только предварительным условиям самого DAL. составить действительный контрольный пример. Правила более высокого уровня будут проверены в модульном тесте прикладного уровня, в котором DAL будет заглушен или отключен. Согласно этим предположениям, статический набор данных или набор данных, сгенерированный с использованием тривиального кода, вероятно, будет достаточным для тестов DAL.
Вполне возможно, что "унаследованная" природа приложения затрудняет, если не невозможно, модульное тестирование уровней приложения и DAL по отдельности. По сути, два слоя в совокупности были бы одной (если сложной) "единицей". В этом случае было бы приемлемо (или, возможно, «допустимым» является правильным словом) генерировать тестовые данные с использованием прикладного уровня в целях целесообразности. Такое поколение, по сути, стало бы еще большим количеством контрольных примеров для "единицы" конгломерата. Отказы DAL из-за регрессий прикладного уровня следует исследовать как возможные ошибки на одном, другом или обоих уровнях. Любое время, потраченное на попытки разделить эти два слоя на отдельные единицы, в долгосрочной перспективе, вероятно, принесет дивиденды.