Варианты поставки в HSpec от Cabal

Я пытаюсь начать с 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который экспортирует main а также spec,

1 ответ

Ознакомьтесь с разделом " Использование пользовательских основных функций " на 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
Другие вопросы по тегам