【发布时间】:2023-03-29 23:35:01
【问题描述】:
我使用 ava 在 JavaScript 中测试我的 Scheme 解释器,我不想在每个失败的断言上都有堆栈跟踪,我希望有一个自定义报告器来显示哪个测试失败以及为什么而不是显示错误通常指向 evaluator 中的同一行。
我可以轻松编写显示失败测试的函数(我可以编写一个宏来显示测试的表达式),但我无法摆脱不相关的 JavaScript 代码的相当大的堆栈跟踪。只有当我的 JavaScript 代码抛出异常时,我才希望有堆栈跟踪。
我不确定,但我认为 t.is 在失败时抛出异常。我想告诉我的测试它们失败了,但不要抛出任何异常,除非我可以有一个钩子来显示 Scheme 堆栈跟踪而不是 JavaScript。
这里我有消息显示哪个断言失败(string<? "123" "123") 应该根据规范返回#t。突出显示的代码只是函数调用。几乎所有东西都是函数(比如(string? "foo"))
我使用 Ava,所以我不需要编写自己的框架,这需要花费数周时间来编写。 Ava 也有代码覆盖率,我的项目是 JavaScript,即使我的测试是在 Scheme 中。
【问题讨论】:
标签: javascript ava