Среда
В моем решении у меня есть три проекта:
- Web (Asp.net MVC4)
- Модель (библиотека классов)
- Тест (Тестовый проект)
В Модельный проект имеет:
Couple
= Класс
IRepository
=Репозиторий на основе интерфейса
ICoupleRepository
= Пара репозитория интерфейса
Implementation
Репозиторий = Пара Пара репозитория
В Тестовый проект имеет:
Fake / CoupleRepository
= Поддельная реализация пары Repository (внутри папки Fake).CoupleTest
pair class = Test
Behavior
При добавлении пары под необходимо изменить некоторые свойства, а также добавить объект пары и добавить другие объекты в базу данных.
Я поместил эту логику в CoupleRepository
(не фальшивый) репозиторий в методе Add
, я установил эти свойства, добавил пару объектов и два других объекта.
public class CoupleRepository : ICoupleRepository
{
public void Add(Couple couple)
{
couple.Bride.Gender = Gender.Female;
couple.Groom.Gender = Gender.Male;
db.Couples.Add(couple);
db.Users.Add(new User{ CoupleID = couple.Bride.ID });
db.Users.Add(new User{ CoupleID = couple.Groom.ID });
db.SaveChanges();
}
}
Вопрос
В моем тестовом классе, CoupleTest
, нужно также проверить добавление этих пользователей и модификацию свойств.
Создать поддельный репозиторий для моего лба, это не поможет мне, действительно нужнотестовый код, который находится по умолчанию для PairRepository.
Что за подсказку вы мне дадите ?
Откуда Насмешки и заглушки входят во все это?1059 * Где могла бы эта логика спасти пару?
Мне нужно тестировать репозитории?Возможно, идеальным было бы проверить контроллеры?
Многие вопросы, я знаю =)
Я новичок в TDD и не знаю, если ядвижется в правильном направлении.
Проверка хранилища по умолчанию не будет идеальной, поскольку он обращается к базе данных.