如何使用 cabal 配置 QuickCheck?
How to configure QuickCheck with cabal?
我正在学习构建 Haskell 包。我坚持的一件事是 运行使用 QuickCheck 进行测试。
具体来说,我该如何设置试验次数为运行?
这是我的测试文件 (Test.hs
) 和一个虚拟测试:
module Main where
import System.Exit (exitFailure)
import Test.QuickCheck
prop_PermInvariant xs = length xs == length (reverse xs)
where types = xs :: [Int]
main :: IO ()
main = quickCheck prop_PermInvariant
这是我的 .cabal
文件:
Test-Suite tests
type: exitcode-stdio-1.0
main-is: Test.hs
default-language: Haskell2010
build-depends:
base ^>= 4.14.3.0,
QuickCheck > 2.14,
hs-source-dirs: tests
构建包后,我可以做 cabal test
,这将在我的模拟测试中进行 运行 100 次试验。但是如何将其更改为 运行 10000?
The documentation for quickCheck
says "To run more tests, use withMaxSuccess
。”具体来说,您会将 main = quickCheck prop_PermInvariant
更改为 main = quickCheck (withMaxSuccess 10000 prop_PermInvariant)
。根本没有理由在 Cabal 中配置任何东西。
我正在学习构建 Haskell 包。我坚持的一件事是 运行使用 QuickCheck 进行测试。
具体来说,我该如何设置试验次数为运行?
这是我的测试文件 (Test.hs
) 和一个虚拟测试:
module Main where
import System.Exit (exitFailure)
import Test.QuickCheck
prop_PermInvariant xs = length xs == length (reverse xs)
where types = xs :: [Int]
main :: IO ()
main = quickCheck prop_PermInvariant
这是我的 .cabal
文件:
Test-Suite tests
type: exitcode-stdio-1.0
main-is: Test.hs
default-language: Haskell2010
build-depends:
base ^>= 4.14.3.0,
QuickCheck > 2.14,
hs-source-dirs: tests
构建包后,我可以做 cabal test
,这将在我的模拟测试中进行 运行 100 次试验。但是如何将其更改为 运行 10000?
The documentation for quickCheck
says "To run more tests, use withMaxSuccess
。”具体来说,您会将 main = quickCheck prop_PermInvariant
更改为 main = quickCheck (withMaxSuccess 10000 prop_PermInvariant)
。根本没有理由在 Cabal 中配置任何东西。