Cabal 说测试通过了,但实际上却失败了?

Hon*_*ang 0 haskell cabal

当我使用运行测试套件时cabal test,我收到以下消息:

Running 1 test suites...
Test suite tests: RUNNING...
Test suite tests: PASS
Test suite logged to: my-lib-tests.log
Run Code Online (Sandbox Code Playgroud)

但当我查看日志文件时,内容是:

Test suite tests: RUNNING...
*** Failed! Falsified (after 1 test):
[]
Test suite tests: PASS
Test suite logged to: my-lib-tests.log
Run Code Online (Sandbox Code Playgroud)

为什么当测试明显失败时我却收到通过消息?

Li-*_*Xia 6

cabal test假设失败的测试套件将以非零错误代码退出。

quickCheck打印反例但正常返回。

要在找到反例时使测试可执行文件失败,您可以使用quickCheckResultisSuccess包装 QuickCheck 测试。

有一些测试框架可以为您执行此操作,顶部有许多有用的功能(例如用于选择要运行的测试的命令行参数),例如tasty、 和tasty-quickcheck