45

我有一个 Haskell 项目和 Cabal 包描述,允许我构建和安装我的包

$ cabal 配置
$ 阴谋集团
$阴谋安装

但是呢cabal test?Cabal 的帮助说要使用 UserHooks 配置测试套件,但我该怎么做呢?

4

2 回答 2

32

正如 Duncan 在 Greg 的回答中提到的,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
于 2011-09-10T15:07:47.513 回答
11

对于一种方法,请参阅使用 Cabal 设置简单测试

这种方法有缺点,并且有一个开放的 Cabal 票表明能够更直接地指定测试,例如

test
  test-is: Test
  build-depends: QuickCheck
  hs-source-dirs: tests src
于 2009-06-25T15:25:26.840 回答