2015-07-21 2 views
1

Я пытаюсь издеваться следующие вещи:Mocking FirstOrDefault в носорога издевается

_reportsRepo.Expect(x => x.Table.FirstOrDefault(s => s.MessageId == 1)).Return(new Report { Id = 1 }); 

, но я получаю ArgumentNullException. Любые идеи?

+2

Что именно вы издеваетесь? Контекст таблицы? Кроме того, нет веских оснований для фальсификации 'FirstOrDefault '. Он просто берет первый или по умолчанию в коллекции, поэтому вы должны просто возвращать один объект. –

ответ

1

Я думаю, вы можете просто сделать что-то вдоль этих линий:

_reportsRepo.Expect(x => x.Table).Return(new []{Report { Id = 1 }}); 

в зависимости от того, что тип Таблица является.

вы не можете издеваться FirstOrDefault вместо этого вы должны издеваться перечислением, которое он возвращается, так что она возвращает коллекцию, которая выполняет ваши требования

+0

thnx, в моем случае это выглядит как '_reportsRepo.Expect (x => x.Table) .Return (новый список {new Report {MessageId = 1}}. AsQueryable());' – user3132547

Смежные вопросы