如何运行作为已安装/正在安装的 Cabal 软件包一部分的测试?

oro*_*ome 5 testing haskell package-managers cabal cabal-install

我有一个从 Hackage 安装的 Haskell 包,使用cabal并希望运行作为包一部分的测试套件,但从cabal文档中我不清楚如何执行此操作。

我试过了:

cabal install --reinstall --enable-tests --run-tests the-package
Run Code Online (Sandbox Code Playgroud)

及其各种组合和排列,但似乎没有运行测试:我没有收到有关测试运行的报告,也没有生成任何我知道测试应该产生的输出。

如何运行作为已安装cabal包或正在安装的包的一部分的测试?

rec*_*nja 5

--run-tests标志似乎不适用于当前版本的cabal. 该--enable-tests标志不再作为cabal. 在问题解决之前,您可以通过执行以下操作手动验证包是否通过了它的测试套件:

  1. 使用cabal下载软件包源
  2. 用于cabal在沙箱中构建包
  3. 用于cabal在沙箱中运行测试

使用这一系列 cabal 命令来运行测试the-package

cabal get the-package
cd the-package*
cabal sandbox init
cabal install --dependencies-only
cabal configure --enable-tests
cabal build
cabal test
cd ../
rm -r the-package*
Run Code Online (Sandbox Code Playgroud)

或者使用这个等效的单行:

cabal get the-package && cd the-package* && cabal sandbox init && cabal install --dependencies-only && cabal configure --enable-tests && cabal build && cabal test && cd ../ && rm -r the-package*
Run Code Online (Sandbox Code Playgroud)