Здравствуйте, Аноним, Вы писали: .>>Не понял. Почему должно быть 2? Вроде всё правильно. А>2 должно быть потому что А>
А> .Where(n => !n.IsDeleted)
А>
А каким магическим способом твой юнит-тест узнает о существовании EFAdminNewsRepository и выполнит этот код?
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[4]: Непонятка с моками
От:
Аноним
Дата:
13.10.13 12:47
Оценка:
Здравствуйте, ., Вы писали:
.>Здравствуйте, Аноним, Вы писали: .>>>Не понял. Почему должно быть 2? Вроде всё правильно. А>>2 должно быть потому что А>>
А>> .Where(n => !n.IsDeleted)
А>>
.>А каким магическим способом твой юнит-тест узнает о существовании EFAdminNewsRepository и выполнит этот код?
а это разве неверно?
Mock<IAdminNewsRepository> mock = new Mock<IAdminNewsRepository>();
mock.Setup(m => m.NewsList).Returns(complexNews.AsQueryable);
AdminNewsController controller = new AdminNewsController(mock.Object);
Здравствуйте, Аноним, Вы писали:
А>>>как надо? .>>А что надо-то? А>Я в начале написал А>если не до конца понятно, то что свойство репозитория newsList возвращает только неудаленные новости
Я не понимаю что непонятного. У тебя есть код, который ни разу не выполняется в юнит-тесте. И ты хочешь что бы этот код как-то влиял на результат. Если хочешь, чтобы код что-то делал, его нужно выполнить.
Но для юнит-теста AdminNewsController код написан правильно. В юнит-тестах должен тестироваться ровно один класс, код других классов влиять не должен. Подумай что такое мок.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Здравствуйте, <Аноним>, Вы писали:
А>Есть такой просой тест, который должен вернуть список неудаленных новостей. А>Но он почему то возвращает все новости.
Потому что ты мокаешь целиком свойство NewList, то есть оно превращается в
public IQueryable<News> NewsList
{
get
{
return new News[]
{
new News {NewsID = 1, Description = "N1", Title = "T1"},
new News {NewsID = 2, Description = "N2", Title = "T2", IsDeleted = true},
new News {NewsID = 3, Description = "N3", Title = "T3"}
}
..AsQueryable();
}
}
Гугли entity framework fake
... << RSDN@Home (RF) 1.2.0 alpha 5 rev. 67>>
Re[8]: Непонятка с моками
От:
Аноним
Дата:
13.10.13 13:56
Оценка:
Здравствуйте, _Raz_, Вы писали:
_R_>Здравствуйте, <Аноним>, Вы писали:
А>>Есть такой просой тест, который должен вернуть список неудаленных новостей. А>>Но он почему то возвращает все новости.
_R_>Потому что ты мокаешь целиком свойство NewList, то есть оно превращается в _R_>
_R_>public IQueryable<News> NewsList
_R_> {
_R_> get
_R_> {
_R_> return new News[]
_R_> {
_R_> new News {NewsID = 1, Description = "N1", Title = "T1"},
_R_> new News {NewsID = 2, Description = "N2", Title = "T2", IsDeleted = true},
_R_> new News {NewsID = 3, Description = "N3", Title = "T3"}
_R_> }
_R_> ..AsQueryable();
_R_> }
_R_> }
_R_>