Варианты поставки в 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