我正在讀「Scala中的函數式編程」一書,並正在編寫單元測試來檢查練習的實現。Scala中的函數式編程:如何單元測試函數組合
我不確定自己理解的一件事是如何使用函數組合和狀態通道進行單元測試練習,在本書的第6章中進行了解釋。
例如一個鍛鍊(如本書的6.8。)是關係到使用狀態的通道功能flatMap的實施,解決方案如下:
def flatMap[A, B](f: Rand[A])(g: A => Rand[B]): Rand[B] = {
rng => {
val (a, rng2) = f(rng)
g(a)(rng2)
}
}
現在,我明白了實施的解決方案,但我無法弄清楚如何爲它編寫單元測試。 詳細地說,我知道如何通過Rand [A]作爲函數f的參數,但我不知道如何構建函數g,它應該返回Rand [B]。
有沒有人想出了一個解決方案呢?
在此先感謝。
是你有關測試溶液或使用溶液質疑
B
? – pedrofurlaHi @pedrofurla:測試解決方案。 – mtraina