Здравствуйте! Вопрос такой, к примеру есть репозиторий
public class UserRepository
{
private EFDbContext _context;
public UserRepository(EFDbContext context)
{
_context = context;
}
public IReadOnlyCollection<User> GetAll()
{
return _context.User.ToList();
}
}
и есть сервис
public class UserSvc
{
private readonly IUserRepository userRepo;
public UserSvc(IUserRepository userRepo)
{
this.userRepo = userRepo
}
public IReadOnlyCollection<User> GetAll()
{
return userRepo.GetAll();
}
}
и вот такой вопрос, чтобы протестировать метод GetAll в UserSvc, я должен замокать IUserRepository, что бы тестировать чисто сервис. Но я еще хочу протестировать репозиторий, в этом случае нужно отрефакторить репозиторий, чтобы можно было мокать EFDbContext, но можно ли обойтись без рефакторинга и без моканья EFDbContext, а просто создавать новый экземпляр репозитория, т.к эта конкретная реализация репозитория использует EF, то можно не заморачиваться на счет моканья EFDbContext, я правильно понимаю, или где то ошибся? только начинаю разбираться в этой теме