如何使用 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 中配置任何东西。