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
それを行うためのより良い/より良いまたはより迅速な方法はありますか?