Haskell 自定义快速检查失败消息

Haskell 自定义快速检查失败消息,haskell,quickcheck,Haskell,Quickcheck,在上面的代码中,当测试失败时,它会打印失败的输入。但我实际上对另一个可以通过输入计算的值感兴趣。我可以要求QuickCheck打印其他值吗?不知何故,我从未看到过它的广告,但您可以在QuickCheck属性中使用hspec的期望值。以下是一个例子: 描述“blabla”$do 它“应该是相等的”$verbose$\input-> 圆形输入'shouldBe'楼层(输入::双精度) 上述属性显然不正确,因此它应该失败。由于我们不仅对输入感兴趣,而且还想知道从中计算出的值,应该是,我们只会得到:

在上面的代码中,当测试失败时,它会打印失败的
输入。但我实际上对另一个可以通过
输入计算的值感兴趣。我可以要求
QuickCheck
打印其他值吗?

不知何故,我从未看到过它的广告,但您可以在
QuickCheck
属性中使用
hspec
的期望值。以下是一个例子:

描述“blabla”$do
它“应该是相等的”$verbose$\input->
圆形输入'shouldBe'楼层(输入::双精度)
上述属性显然不正确,因此它应该失败。由于我们不仅对
输入感兴趣,而且还想知道从中计算出的值,
应该是
,我们只会得到:

test1 = hspec $ do
  describe "blabla" $ do
    it "should be equl" $ verbose $
      \input-> ...
当然,由于
verbose
,只有
input
会被打印以通过测试,而计算值(例如
round input
)只会被打印以用于失败的测试用例,这正是您一直在寻找的

  3) blabla should be equl
       Falsifiable (after 2 tests and 4 shrinks):
         0.6
       expected: 0
        but got: 1