从阴谋集团向HSpec提供选项



我正在尝试开始使用hspec。我有一个使用 QuickCheck 的工作案例,但我只想在运行 cabal test 时获得更多细节。我从 hspec 找到了这篇文章,给出了在运行可执行文件时提供一些更详细控件的说明。我目前正在使用 hi 来初始化我的 haskell 软件包,所以我的 cabal 测试套件看起来像这样:

Test-Suite spec
  Type:                 exitcode-stdio-1.0
  Default-Language:     Haskell2010
  Hs-Source-Dirs:       src
                      , test
  Ghc-Options:          -Wall
  Main-Is:              Spec.hs
  Build-Depends:        base
                      , hspec
                      , QuickCheck
                      , quickcheck-instances
                      , mtl
                      , text
                      , transformers

我的猜测类似于"默认命令行参数",但这感觉不对。如何向 hspec 套件提供参数?

此外,这可能很重要。 hi拆分测试套件,以便Spec.hs中的唯一内容是:

{-# OPTIONS_GHC -F -pgmF hspec-discover #-}

但是所有的测试和代码都驻留在test/MainSpec.hs,它导出mainspec

查看有关 http://hspec.github.io/hspec-discover.html 的"使用自定义主函数"部分

为方便起见,相关位复制在这里:

下面是一个示例,演示如何利用它来指定 不同的默认格式化程序:

-- file test/Spec.hs
{-# OPTIONS_GHC -F -pgmF hspec-discover -optF --module-name=Spec #-}
-- file test/Main.hs
module Main where
import Test.Hspec.Runner
import Test.Hspec.Formatters
import qualified Spec
main :: IO ()
main = hspecWith defaultConfig {configFormatter = Just progress} Spec.spec

相关内容

  • 没有找到相关文章

最新更新