gpt4 book ai didi

mocha.js - 如何使用 chai assert 获取 mocha 以报告文件/行号?

转载 作者:行者123 更新时间:2023-12-04 02:50:20 24 4
gpt4 key购买 nike

我正在使用 mochachai.assert对于我的测试。错误被捕获并报告,但它们不会显示发生位置的文件/行号。我习惯于使用其他语言的测试来获取位置信息,否则很难弄清楚哪个断言失败了。

有没有办法用 mocha/chai/assert 获取位置信息?

最佳答案

从版本 1.9.1 onwards , 如果你设置了 includeStack flagtrue ,您将获得有关断言失败的堆栈跟踪:

var chai = require("chai");
chai.config.includeStack = true;
var assert = chai.assert;

describe("test", function () {
it("blah", function () {
assert.isTrue(false);
});
});

在 1.9.1 之前的版本中,您必须设置 chai.Assertion.includeStack = true .从 1.9.1 开始,这种获取堆栈跟踪的方法已被弃用。它在 1.10.0 中仍然可用,但可能会在 1.11.0 或 2.0.0 中删除。 (有关详细信息,请参阅 here。)

上面的示例将显示堆栈跟踪,其中 assert.isTrue失败。像这样:
AssertionError: expected false to be true
at Assertion.<anonymous> (.../node_modules/chai/lib/chai/core/assertions.js:193:10)
at Assertion.Object.defineProperty.get (.../node_modules/chai/lib/chai/utils/addProperty.js:35:29)
at Function.assert.isTrue (.../node_modules/chai/lib/chai/interface/assert.js:242:31)
at Context.<anonymous> (.../test.js:7:16)
[... etc ...]

(我已将跟踪截断为仅相关的内容并截断路径。)我在上面包含的内容中显示的最后一帧是发生错误的帧( .../test.js:7:16 )。我认为 chai 不允许只有断言调用的文件名和行号。

关于mocha.js - 如何使用 chai assert 获取 mocha 以报告文件/行号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20717002/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com