【发布时间】:2011-11-25 09:21:37
【问题描述】:
我正在使用详细的测试套件界面搜索 cabal 包,以了解如何构建代码。
【问题讨论】:
我正在使用详细的测试套件界面搜索 cabal 包,以了解如何构建代码。
【问题讨论】:
cabal documentation 包含detailed-1.0 和exitcode-stdio-1.0 测试接口的示例。但是,请注意,尚不支持详细的测试接口。目前只支持更简单的exitcode-stdio-1.0接口。
来自cabal-devel 列表中的a recent mail thread(2011 年 9 月 5 日):
啊,过早记录的罕见情况。也就是说,文档 已到期但尚未发布的功能。 [...] 没有发布版本支持 详细的界面呢。就在最近,我们认为我们已经确定了决赛 接口,并有望很快在 darcs 版本中实现。
【讨论】:
由于我多次被这个问题绊倒:使用 Cabal 1.20(1.18 ?),detailed-0.9 支持,例如参见 https://github.com/michaxm/test-detailed-example。但由于已经有相当长的时间没有它,exitcode-stdio-1.0 周围的基础设施(+ 支持库之一,例如 hspec、hunit 等)可能仍然更好。
也请参阅How to use detailed-0.9 in cabal testing。
detailed-0.9 测试的最小 .cabal 内容示例(使用默认堆栈项目的名称):
name: test-detailed-example
version: 0.1.0.0
build-type: Simple
cabal-version: >=1.20
library
hs-source-dirs: src
exposed-modules: Lib
build-depends: base >= 4.7 && < 5
default-language: Haskell2010
test-suite test-detailed-example-test
type: detailed-0.9
hs-source-dirs: test
test-module: Spec
build-depends: base >= 4.7,
Cabal >= 1.20
default-language: Haskell2010
【讨论】:
Haddock 的 cabal 文件包括一个测试套件节;也许你可以从那里开始。
【讨论】: