В мой контроллер, у меня есть что-то вроде этого:Насколько подробно должен быть ваш репозиторий? Тестирование выдает
class HomeController
{
[AllowAnonymous]
public ActionResult Index()
{
HomeViewModel viewModel = new HomeViewModel();
viewModel.FieldSearchCriteria = new SearchCriteria();
viewModel.Blogs = this.unitOfWork.BlogRepository.GetAllPublishedBlogs(1, 2, "PublishDate", SortDirection.DESC, null).ToList();
viewModel.FieldWanteds = this.unitOfWork.FieldWantedRepository.GetAllFieldWanteds(1, 2, "CreatedAt", SortDirection.DESC, null).ToList();
viewModel.Fields = this.unitOfWork.FieldRepository.GetAllFeaturedPublishedFields(1, 4, "CreatedAt", SortDirection.DESC, null).ToList();
viewModel.UserID = User.Identity.GetUserId();
return View(viewModel);
}
}
Я поставил очень конкретные методы в моих репозиториях, так что я могу повторно использовать их на протяжении всей моей заявки ... однако я найти его трудно получить какие-либо выгоды от контроллеров единичного тестирования из-за того, что вы не используете такие команды, как .Where и .Take внутри контроллера ...
Действительно ли это нормально, чтобы просто протестировать метод репозитория как единичный тест, где все фактические вещи I забота о тестировании происходит? .. Или я упускаю какую-то большую картину, имея всю логику извлечения из методов репозитория?
Проблема (с моей) с TDD заключается в том, что эти вещи всегда сводятся к * это зависит *. Как парадигма, я нахожу ее слишком малой или легкой. Таким образом, неопределенный ответ на ваш вопрос: «Что вы хотите, чтобы ваши тесты доказали?» * – Liam