Это зависит от того, что вы хотите проверить:
- Вы хотите, чтобы проверить получение данных из базы данных?
- Построение объектов из наборов данных?
- Вкладывает или обновляет базы данных?
- И так далее ...
Вот предложение:
приказ содержит все его дети. Это совокупность, целое. Вы получаете заказ с деталями из хранилища:
var order = repository.GetOrderBy(id);
Репозиторий получает данные из базы данных:
var dataset = orderDatabase.GetOrderAndDetailsBy(id);
репозиторий может использовать строитель, чтобы создать заказ:
var order = orderBuilder.CreateOrderAndDetailsFrom(dataset);
Вам необходимо создать репозиторий следующим образом:
var repository = new OrderRepository(orderDatabase, orderBuilder);
Теперь вы можете создать репозиторий с поддельными сотрудниками, в зависимости от того, что вы хотите проверить.
Я согласен. В настоящее время у меня есть приложение, которое использует NHibernate, Castle Windsor и RhinoMock, и я очень доволен. Я использую шаблон хранилища и почти полностью отключается от DAL для моих модульных тестов. Никогда не хотел бы снова возвращаться к наборам данных – Tigraine