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

测试报错时如何获取完整堆栈跟踪?

获取Busted测试框架的完整堆栈跟踪

当然有办法让Busted输出完整的堆栈跟踪!默认情况下Busted会简化错误信息,但你可以通过几种方式开启完整的调用栈展示:

1. 命令行临时启用

直接在运行Busted时添加--trace(或缩写-T)参数,这会强制输出完整的堆栈跟踪:

busted --trace your_test_spec.lua

如果需要更详细的测试运行上下文,还可以搭配--verbose(-v)参数,它会同时输出测试执行细节和完整错误栈。

2. 配置文件持久化设置

如果你不想每次运行都手动加参数,可以在项目根目录创建一个.busted配置文件(Lua格式),把跟踪选项设为默认开启:

return {
  trace = true,
  -- 可选:同时开启 verbose 模式获取更多测试执行信息
  verbose = true
}

之后每次运行busted命令时,都会自动加载这个配置,默认输出完整的堆栈跟踪。

3. 针对单个测试启用

如果只想给特定的测试用例开启完整跟踪(避免所有测试输出过多冗余信息),可以在it或describe块中传入配置参数:

describe("UserService 测试套件", function()
  -- 仅这个测试用例启用完整堆栈跟踪
  it("应该正确创建用户", {trace = true}, function()
    local user = UserService.create({name = "Test"})
    assert.equals(user.name, "TestWrong") -- 故意触发错误
  end)
end)

启用跟踪后,你会看到从测试断言失败点回溯到被测试代码、测试框架本身的完整调用路径,这对类测试驱动开发中定位深层问题非常有帮助。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:24:52