使用 cabal 编译但不 运行 测试套件?

Using cabal to compile but not run the test suite?

cabal test 将编译测试套件可执行文件,然后 运行 它。但是,它删除了控制台着色(因为它记录了结果)。我想使用 cabal 构建可执行文件,然后 运行 从脚本中构建它,但我不知道如何构建可执行文件。

如果您 cabal configure --enable-tests,那么 cabal build 不仅会构建 library/executables,还会构建测试套件。您还可以按名称构建单独的测试套件,如 cabal build name-of-test-suite.

如果您不想使用 cabal test.

,您可以从 dist/build 下的相应子目录手动 运行 它们

此外,如果是tasty 测试套件,您可以通过说

之类的内容来获得颜色输出
cabal test --show-details=always --test-option=--color --test-option=always

你也可以试试--show-details=streaming。不过,我不知道这有多稳健,它是否有效也可能取决于你所使用的平台。