为什么Moq看不到在. select方法中调用这个方法?

本文关键字:方法 调用 为什么 看不到 select Moq | 更新日期: 2023-09-27 18:10:08

我创建了这个要点来描述正在发生的事情:

https://gist.github.com/IanRandall/5417410

简要地说:. verify断言在存储库上. get()方法的第一个实现中失败,因为Moq没有注意到正在调用映射器。

还有人看到这个吗?我错过什么了吗?

欢呼:)

为什么Moq看不到在. select方法中调用这个方法?

经典的IEnumerable概念错误。

返回linq查询的迭代器。在你对函数进行迭代之前,迭代器实际上不会调用该函数。

如果您这样做(例如),您应该看到它工作,因为它强制迭代:

return results.Select(entity => _mapper.Transform(entity)).ToList();