每次运行“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/

10-11 01:05