У меня есть следующий UserRepository:
public class UserRepository : Repository<Entities.User> {
public Entities.IUser Find(string domain, string username, string password) {
return (from u in FindAll()
where u.Account.SubDomain == domain && u.EmailAddress == username && u.PasswordHash == password
&& !u.IsArchived
select u).FirstOrDefault();
}
}
Метод «FindAll» является частью репозитория и в основном просто вызывает context.GetTable (). AsQueryable ()
Я хочу бытьвозможность написать тест, который будет вызывать этот метод хранилища, но вместо доступа к базе данных использовать некоторое хранилище в памяти.
Я много занимался поиском, и все, что мне кажется, натолкнулось на то, чтобы вычистить хранилище и вернуть список (обычно создаваемый в начале модульного теста), но я не понимаю, чтоиспользовать это.Я хочу убедиться, что написанный мной запрос linq на самом деле правильно фильтрует объекты и извлекает только необходимые записи.Поскольку DataContext не имеет интерфейса, я не могу просто его смутить.
Единственный другой способ, которым я могу увидеть обработку этого, - это на самом деле разговаривать с БД, но я знаю, что это не главноемодульное тестирование.
Мой вопрос: как другие справились с этим?