每次运行“quickCheck prop_xyz”时,都会使用一个新的随机种子。如何强制 QuickCheck 始终使用相同的随机种子?
谢谢!
最佳答案
您需要的功能在 Test.QuickCheck
中;使用 quickCheckWith
指定自定义 Args
。特别是 replay :: Maybe (StdGen, Int)
字段,它允许您重放测试。所以你可以使用 stdArgs
默认值并调整它们;例如,
ghci> :load Main.hs
ghci> import Test.QuickCheck
ghci> import System.Random -- for mkStdGen
ghci> quickCheckWith stdArgs{replay = Just (mkStdGen 42, 0)} prop_xyz
元组的第二个组成部分与测试用例的大小有关,但我忘记了具体是什么。
关于testing - 如何为 Haskell 的 quickCheck 函数设置常量种子,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19189476/