在犀牛模拟中模拟 FirstOrDefault

Mocking FirstOrDefault in rhino mocks

我正在尝试模拟以下内容:

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

但我收到 ArgumentNullException。 有什么想法吗?

我认为您可以按照以下方式做一些事情:

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

具体取决于 Table 是什么类型。

你不能模拟 FirstOrDefault 而你应该模拟它返回的枚举,这样它 returns 一个满足你要求的集合