3

hspecを始めようとしています。私は QuickCheck を使用して動作するケースを持っていますが、実行時にもう少し詳細が必要cabal testです。hspec からこの記事を見つけました。実行可能ファイルの実行時に、より詳細な制御を提供する方法が説明されています。現在、haskell パッケージの初期化に使用hiしているため、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ます。

4

1 に答える 1

2

http://hspec.github.io/hspec-discover.htmlのカスタム main 関数の使用セクションを確認してください。

あなたの便宜のためにここにコピーされた関連ビット:

これを使用して別のデフォルト フォーマッタを指定する方法を示す例を次に示します。

-- 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
于 2016-06-05T14:51:57.343 に答える