11得票3回答
我拥有哪个包版本?

这似乎是一个常见问题,但我却无法找到简单的答案: 在我的GHC安装中,某个软件包的哪个版本正在使用? 背景 我正在尝试学习Haskell语言,并通过阅读《Haskell实战》一书来达到这一目的。现在我已经阅读到第11章,其中介绍了QuickCheck等内容。 不幸的是,自2009年该书...

11得票1回答
QuickCheck:基于其他Arbitrary实例定义Arbitrary实例

我正在使用 QuickCheck 1,并且我有以下的数据类型:data A = ... instance Arbitrary A where ... data B = ... instance Arbitrary B where ... data C = C A B 现在我想为C定义一个Arb...

11得票1回答
使用ByteString的Haskell QuickCheck2?

RWH书籍指出,要获取ByteString支持,我需要添加:instance Arbitrary B.ByteString where arbitrary = fmap B.pack arbitrary coarbitrary = coarbitrary . B.unpac...

11得票2回答
QuickCheck 属性中使用的 Show-ing 函数

我正在尝试编写一个使用一个或多个函数作为输入的QuickCheck属性。为了简单起见,考虑一个检查函数复合是否等同于连续函数应用的属性,以及一个快速而粗略的测试驱动程序:import Test.QuickCheck prop_composition :: (Int -> Int) -&...

11得票1回答
如何在doctest中使用QuickCheck进行多行输入?

从Doctest自述中可以看到,我们可以像这样使用QuickCheck和doctest: -- | -- prop> sort xs == (sort . sort) (xs :: [Int]) 我想用多行来描述这个属性,可能像这样: -- | -- prop> sort ...

11得票2回答
QuickCheck失败时的退出状态和与cabal的集成

我想了解如何将一些 quickcheck 测试与 cabal 集成。这个 gist 建议 quickCheck 函数在失败时返回非零状态,但是我没有得到这种行为,所以除非我想在测试中调用 error,否则使用 cabal 的 exitcode-stdio-1.0 测试套件类型对我来说似乎无法工...

11得票2回答
HUnit/QuickCheck与持续集成

是否有HUnit或QuickCheck的扩展程序可以让类似Bamboo的持续集成系统对测试结果进行详细报告? 到目前为止,我最好的想法是将测试作为构建脚本的一部分触发,依赖于测试失败时出现非零的退出代码。这对于在测试失败时引起注意很有效,但会将构建失败与测试失败混淆,并需要查看控制台输出以确...

11得票1回答
QuickCheck 2批处理

QuickCheck的Batch模块在版本2中被移除了(1.2.0.1仍有它)。因此,我总觉得将多个测试用例mapM_在一起有点不太正规。我是否忽略了QuickCheck 2中的后继特性?是否有一种标准的方法将独立的测试用例分组在一起?

10得票5回答
QuickCheck 2中的verboseCheck是什么?

QuickCheck 1 中的 verboseCheck 函数好像在 QuickCheck 2 中不见了(或者至少我找不到它)。是否有其他方法可以显示测试过程中使用的值?

9得票2回答
Haskell QuickCheck最小化反例

考虑以下关于reverse和++之间分配律的测试:链接。 import Test.QuickCheck test :: [Int] -> [Int] -> Bool test xs ys = reverse (xs ++ ys) == reverse xs ++ reverse...