You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Haskell Tasty测试如何实现执行进度实时汇报?

配置Tasty v1.5启用实时进度汇报定位无限循环测试

Tasty v1.5的进度汇报功能可以解决你遇到的无限循环测试无法定位的问题,配置方式分两种:

命令行参数方式

直接在启动测试时添加--progress参数,Tasty会实时输出每个测试的运行状态:

  • 测试启动时输出[RUNNING] <测试名称>
  • 测试完成时输出[OK]/[FAILED] <测试名称>

如果使用Stack运行测试:

stack test --test-arguments="--progress"

如果使用Cabal运行测试:

cabal test --test-option="--progress"

代码内静态配置方式

如果你想在代码里固定启用进度汇报,需要引入Test.Tasty.Ingredients.ProgressReporter模块,将progressReporter添加到测试入口的配料列表中:

import Test.Tasty
import Test.Tasty.Ingredients.ProgressReporter (progressReporter)
import Test.Tasty.HUnit  -- 根据你使用的测试框架调整

main :: IO ()
main = defaultMainWithIngredients [progressReporter, listingTests] tests
  where
    tests = testGroup "你的测试组"
      [ testCase "正常测试" (return ())
      , testCase "可能无限循环的测试" (forever (return ()))  -- 示例问题测试
      ]

listingTests是Tasty默认的测试列表输出配料,和progressReporter搭配使用,既能看到整体测试结构,又能实时获取运行进度。

启用进度汇报后,一旦出现无限循环,最后一条[RUNNING]日志对应的测试就是问题所在,直接定位无需等所有测试结束。

内容的提问来源于stack exchange,提问作者user2667523

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 15:59:57