标签: testing haskell integration-testing cabal
假设我编写了一个Haskell包,我想将其发布到Hackage。
假设我已经为它编写了自动化测试,所以我知道它可以在我的机器上运行,我已经安装了GHC的版本,以及它所依赖的其他软件包的版本。
是否有使用其依赖的其他版本的软件包以及其他版本的GHC(以及Hugs等版本)运行我的软件包测试的自动方式?
目标不仅是检查它是否符合我认为应该使用的先决条件,而且还要确认它不适用于我希望它不能使用的版本。
答案 0 :(得分:2)
我认为现在最好的选择是cabal-dev或capri以及一些本土脚本。
答案 1 :(得分:1)
使用cabal configure --preference=DEPENDENCY,如cabal configure --help所述。我不知道,它是如何工作的,也许只是尝试一下。例如,要使用旧的基础包进行测试,请尝试
cabal configure --preference=DEPENDENCY
cabal configure --help
cabal configure "--preference=base==3.0.0"
您可以将想要测试的dependecies组合放入一些shell脚本中,无论如何。