如何使用其先决条件的不同版本运行我的包的测试?

时间:2011-01-20 10:25:40

标签: testing haskell integration-testing cabal

假设我编写了一个Haskell包,我想将其发布到Hackage。

假设我已经为它编写了自动化测试,所以我知道它可以在我的机器上运行,我已经安装了GHC的版本,以及它所依赖的其他软件包的版本。

是否有使用其依赖的其他版本的软件包以及其他版本的GHC(以及Hugs等版本)运行我的软件包测试的自动方式?

目标不仅是检查它是否符合我认为应该使用的先决条件,而且还要确认它不适用于我希望它不能使用的版本。

2 个答案:

答案 0 :(得分:2)

我认为现在最好的选择是cabal-devcapri以及一些本土脚本。

答案 1 :(得分:1)

使用cabal configure --preference=DEPENDENCY,如cabal configure --help所述。我不知道,它是如何工作的,也许只是尝试一下。例如,要使用旧的基础包进行测试,请尝试

cabal configure "--preference=base==3.0.0"

您可以将想要测试的dependecies组合放入一些shell脚本中,无论如何。