2014-12-14 9 views
2

Я пытаюсь начать работу с hspec. У меня есть рабочее приложение, работающее с QuickCheck, но я просто хотел бы получить более подробную информацию при запуске cabal test. Я нашел this article от hspec, давая инструкции по предоставлению более детального контроля при запуске исполняемого файла. Я в настоящее время использую hi инициализировать мои Haskell пакетов, так что мой междусобойчик набор тестов выглядит следующим образом:Опции поставки для HSpec из 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

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