Pergunta

Eu tenho um projeto Haskell e descrição do pacote de cabala que me permite construir e instalar meu pacote com

$ cabal configure
$ cabal build
$ cabal install

Mas que tal cabal test? A ajuda de Cabal diz para configurar uma suíte de teste com os usuários, mas como posso fazer isso?

Foi útil?

Solução

Como Duncan mencionou na resposta de Greg, o Cabal-1.10 tem suporte para suítes de teste pronta para uso.

o manual Parece ter as melhores informações que encontrei sobre como fazer uso disso.

Aqui está um trecho do manual que mostra como usar o exitcode-stdio Tipo de teste:

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

test-foo.hs:

module Main where

import System.Exit (exitFailure)

main = do
    putStrLn "This test always fails!"
    exitFailure

Outras dicas

Para uma abordagem, veja Configurando um teste simples com cabala.

Esta abordagem tem desvantagens, e há um Bilhete de cabala aberto Isso sugere poder especificar testes mais diretamente, por exemplo,

test
  test-is: Test
  build-depends: QuickCheck
  hs-source-dirs: tests src
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top