我有一个快速检查属性,它看起来像这样:快速检查值等于
prop42 :: Foo -> Bool
prop42 foo = fn1 foo == fn2 foo
如果该物业的失败,它会打印出什么foo
了。但我真的很想知道什么fn1
和fn2
返回。如果foo
很大,那么手工生成这些信息也是不重要的。 (即,坐在那里,手动键入打印到Windows控制台窗口的大量文本)。
测试框架有一个比较相等的东西是常见的,如果相等没有,则打印出两个值保持。但我似乎无法为QuickCheck找到这样的功能...
这比我试图使用的黑客更好... – MathematicalOrchid
这个作品,但不推荐使用。相反,使用'==='可能就够了;它[在比较失败时打印双方](http://hackage.haskell.org/package/QuickCheck-2.7.3/docs/Test-QuickCheck-Property.html#v:-61--61--61-) 。 – 9000