我如何 运行 作为 installed/installing Cabal 包一部分的测试?

How do I run the tests that are part of an installed/installing Cabal package?

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

我试过:

cabal install --reinstall --enable-tests --run-tests the-package

及其各种组合和排列,但似乎没有测试 运行:我没有得到关于测试 运行ning 和我知道的输出的 none 的报告测试应该生成。

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

--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*

或者使用这个等价的一行:

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*

如评论中所述,以下答案不再有效。以下适用于 cabal 3.6.2:

cabal get the-package
cd the-package*
cabal v2-test