请提供一个使用QuickCheck2的简单测试框架示例

时间:2013-05-14 11:21:07

标签: haskell quickcheck test-framework

我正在努力让这个basic test-framework example与QuickCheck2一起使用。由于示例使用了QuickCheck 1,我得到了上面提到的以下错误。我假设使用QuickCheck2通常是首选,但我如何将它与test-framework一起使用?

错误:

No instance for (QuickCheck-1.2.0.0:Test.QuickCheck.Testable
    (Gen Prop))

提前致谢。


如果我导入Test.Framework.Providers.QuickCheck2,我收到以下错误:

del-me.hs:41:17:
    No instance for (QuickCheck-2.5.1.1:Test.QuickCheck.Property.Testable
                       (Gen Prop))
      arising from a use of `testProperty'
    Possible fix:
      add an instance declaration for
      (QuickCheck-2.5.1.1:Test.QuickCheck.Property.Testable (Gen Prop))
    In the expression: testProperty "sort2" prop_sort2
    In the second argument of `testGroup', namely
      `[testProperty "sort1" prop_sort1, testProperty "sort2" prop_sort2,
        testProperty "sort3" prop_sort3]'
    In the expression:
      testGroup
        "Sorting Group 1"
        [testProperty "sort1" prop_sort1, testProperty "sort2" prop_sort2,
         testProperty "sort3" prop_sort3]

2 个答案:

答案 0 :(得分:2)

从test-framework-quickcheck2包导入Test.Framework.Providers.QuickCheck2,而不是test-framework-quickcheck包中的Test.Framework.Providers.QuickCheck。

答案 1 :(得分:1)

安装最新的test-framework-quickcheck2-0.3.0.2将解决此问题。 例如:如果安装了Haskell平台,只需使用以下命令:

cabal update

cabal install test-framework-quickcheck2-0.3.0.2