我正在使用chai.js断言库,用于查找半技术专业人员创建的 list 中可能存在的错误。换句话说,配置正在写入,但人为错误的可能性非常。
目前,失败的断言如下:
var expect = require('chai').expect;
expect('String', 'Should be a Number').to.be.a('number');
导致抛出错误并显示完整堆栈。我可以通过指示不要抛出错误来减少膨胀,同时向控制台输出更小、更上下文相关的消息吗?
就堆栈跟踪而言,我已经尝试过,但没有成功:
chai.config.includeStack = false;
免责声明:这是我第一次尝试使用 chai.js图书馆。
最佳答案
expect
失败时会抛出错误,因此您可以将每个调用包装在 try/catch 中并只使用您想要的部分:
var expect = require("chai").expect;
function friendlyAssert (test) {
try { test() }
catch (e) { console.log(e.message); }
}
// logs a message
friendlyAssert(function () {
expect("string", "Should be a number").to.be.a("number");
});
// completes silently
friendlyAssert(function () {
expect(8, "Should be a number").to.be.a("number");
})
// output:
// Should be a number: expected 'string' to be a number
关于javascript - Chai.js 中的友好/自定义错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34664738/