Haskell 请提供一个使用QuickCheck2的简单测试框架示例
我正在努力使QuickCheck2能够正常工作。由于示例使用了QuickCheck 1,我得到了上一页提到的以下错误。我假设通常首选使用QuickCheck2,但如何将其与测试框架一起使用呢 错误:Haskell 请提供一个使用QuickCheck2的简单测试框架示例,haskell,quickcheck,test-framework,Haskell,Quickcheck,Test Framework,我正在努力使QuickCheck2能够正常工作。由于示例使用了QuickCheck 1,我得到了上一页提到的以下错误。我假设通常首选使用QuickCheck2,但如何将其与测试框架一起使用呢 错误: 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-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]
从Test-Framework-QuickCheck2包导入Test.Framework.Providers.QuickCheck2,而不是从Test-Framework-QuickCheck包导入Test.Framework.Providers.QuickCheck。安装最新的Test-Framework-QuickCheck2-0.3.0.2将解决此问题。 例如:如果已安装Haskell Platform,只需使用以下命令:
cabal update
cabal install test-framework-quickcheck2-0.3.0.2
@克里斯,你藏起来了吗?您链接到的页面上的第一个常见问题解答讨论了如果要使用QuickCheck-1,则显式隐藏QuickCheck-2:您可能需要以相同的方式显式隐藏QuickCheck-1。另一种可能性:您是否安装了多个版本的QuickCheck-2?如果是这样的话,试着隐藏除其中一个之外的所有内容。看来我遇到了某种依赖地狱的问题。隐藏我安装的两个QuickCheck2版本中的一个会破坏测试框架。你知道解决这类问题的简单方法吗?@Chris我知道解决这类问题的唯一方法是删除你的软件包数据库并重新安装你需要的所有软件包:-(