我正在尝试使用hspec。我有一个使用QuickCheck的工作案例,但我想在运行cabal test
时想要更多细节。我从hspec中找到this article,给出了在运行可执行文件时提供更详细控件的说明。我目前正在使用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
,导出main
和spec
。
答案 0 :(得分:0)
查看http://hspec.github.io/hspec-discover.html
上的使用自定义主要功能部分为方便起见,复制了相关位:
这是一个示例,说明如何使用它来指定a 不同的默认格式化程序:
-- 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