【发布时间】:2011-01-23 08:17:20
【问题描述】:
在通过 QuickCheck 测试属性测试失败时显示失败原因的最佳做法是什么?
举个例子:
prop a b = res /= []
where
(res, reason) = checkCode a b
那么会话可能如下所示:
> quickCheck prop
Falsifiable, after 48 tests:
42
23
但对于调试而言,将失败原因显示为 quickCheck 可伪造报告的一部分会非常方便。
我是这样破解的:
prop a b = if res /= [] then traceShow reason False else True
where
(res, reason) = checkCode a b
有没有更好/更好或更快速的方法来做到这一点?
【问题讨论】:
标签: haskell quickcheck