为什么Moq看不到在.Select方法中调用此方法?

kiw*_*pom 1 c# moq

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

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

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

有人见过这个吗?我错过了什么吗?

干杯:)

Gje*_*ema 5

经典的IEnumerable概念错误.

你正在使用linq查询返回一个迭代器.在迭代它之前,迭代器实际上不会调用该函数.

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

return results.Select(entity => _mapper.Transform(entity)).ToList();
Run Code Online (Sandbox Code Playgroud)