如何模拟 .map 函数?
How to mock .map function?
假设我需要模拟这个:
List().map(doSomething)
我试图在互联网上找到答案,但没有找到解决方案
模拟 .map
毫无意义 - 您正在处理纯数据,因此如果您想更改结果,请更改输入。这就像在 String
.
中嘲笑 .substr
或 .toLowerCase
特别是因为 .map
、.flatMap
和朋友是合约的接口 - 你不会模拟 .equals
和 .hashcode
因为你必须重新实现合约与模拟API 传递数据将免费为您提供。
这就是 List
、Set
、Free
、IO
等数据。您不模拟数据,而是模拟行为 - 具有托管状态和副作用的对象。这就是为什么没有人描述如何做到这一点的原因。
假设我需要模拟这个:
List().map(doSomething)
我试图在互联网上找到答案,但没有找到解决方案
模拟 .map
毫无意义 - 您正在处理纯数据,因此如果您想更改结果,请更改输入。这就像在 String
.
.substr
或 .toLowerCase
特别是因为 .map
、.flatMap
和朋友是合约的接口 - 你不会模拟 .equals
和 .hashcode
因为你必须重新实现合约与模拟API 传递数据将免费为您提供。
这就是 List
、Set
、Free
、IO
等数据。您不模拟数据,而是模拟行为 - 具有托管状态和副作用的对象。这就是为什么没有人描述如何做到这一点的原因。