Тот факт, что вы получаете ошибку структуры сущностей, означает, что _repository
указывает на фактический экземпляр объекта EF, в то время как _userRepository
является ложным.Убедитесь, что ваш экземпляр репозитория _userAccntService
точно указывает на _userRepository
.
Другими словами, в методе настройки теста при построении _userRepository
убедитесь, что это что передается в ваш _userAccntService
конструктор.
Итак, глядя на ваш обновленный код:
public UserServiceTest() {
_mockRepository = new MockRepository();
_userRepository = MockRepository.GenerateMock<IUserRepository>();
_userAccntService = new UserAccntService();
}
_userAccntService
никогда не передается _userRepository
, так как можно ожидать его использования при вызове IsUserAcctExists()
?Эта зависимость от репозитория должна быть вставлена в ваш _userAccntService
экземпляр.Что-то вроде:
public UserServiceTest() {
_mockRepository = new MockRepository();
_userRepository = MockRepository.GenerateMock<IUserRepository>();
_userAccntService = new UserAccntService(_userRepository);
}