Как я могу настроить простой тест с Cabal? - PullRequest
41 голосов
/ 25 июня 2009

У меня есть проект на Haskell и описание пакета Cabal, которое позволяет мне собирать и устанавливать мой пакет с

$ cabal configure
$ cabal build
$ cabal install

А как же cabal test? Помощь Кабала говорит о том, чтобы настроить набор тестов с UserHooks, но как я могу это сделать?

Ответы [ 2 ]

28 голосов
/ 10 сентября 2011

Как упоминал Дункан в ответе Грега, Cabal-1.10 имеет встроенную поддержку тестовых наборов.

Руководство , кажется, содержит лучшую информацию, которую я нашел относительно того, как использовать это.

Вот фрагмент руководства, в котором показано, как использовать тип теста exitcode-stdio:

foo.cabal

Name:           foo
Version:        1.0
License:        BSD3
Cabal-Version:  >= 1.9.2
Build-Type:     Simple

Test-Suite test-foo
    type:       exitcode-stdio-1.0
    main-is:    test-foo.hs
    build-depends: base

тест-foo.hs:

module Main where

import System.Exit (exitFailure)

main = do
    putStrLn "This test always fails!"
    exitFailure
10 голосов
/ 25 июня 2009

Об одном подходе см. Настройка простого теста с Cabal .

У этого подхода есть недостатки, и есть открытый билет Кабала , который предлагает возможность задавать тесты более напрямую, например, ,

test
  test-is: Test
  build-depends: QuickCheck
  hs-source-dirs: tests src
...