gpt4 book ai didi

chai - 如何让 Chai 使用 toString() 显示实际值和预期值

转载 作者:行者123 更新时间:2023-12-01 06:27:13 28 4
gpt4 key购买 nike

我最近从 should.js 切换到 chai.js,因为我发现前者在基于浏览器的测试中造成障碍。由于支持语法,因此更改不需要对我的测试套件进行任何更改,但我看到失败测试的输出不再以有用的方式向我显示实际值和预期值:

AssertionError: expected [ Array(9) ] to deeply equal [ Array(9) ]

我可以通过添加以下行让它吐出这些值的表示:
chai.config.truncateThreshold = 0;

然而,这会导致每个值都被详尽地输出,包括函数和原型(prototype)属性。也很没用。

那么我是否缺少某种方式让 chai 表现得像 should.js,其中使用他们的 toString() 方法显示实际/预期值?

最佳答案

使用 .toString() 让 Chai (v1.10.0) 显示实际值和预期值的一种方法是修补它的utils.objDisplay在运行时。

基本要点是:

chai.use(function(_chai,utils) {
utils.objDisplay = function(obj) { return obj+''; };
});

但是,由于 Chai 在内部实例化重复(即: !== )模块引用的方式,实际操作会稍微复杂一些。在这种情况下,需要修补 utils.getMessage还。

这是一个演示整个补丁的 fiddle 以及 Array 的自定义格式的简单示例对象: https://jsfiddle.net/humbletim/oc1tnqpy/

关于chai - 如何让 Chai 使用 toString() 显示实际值和预期值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26980779/

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