Node.js v14.2.0 发布了,主要更新内容包括:
使用 assert.CallTracker 跟踪函数调用(实验)
assert.CallTracker 是一个新的实验性 API,它允许跟踪并稍后验证函数被调用的次数。通过创建一个 CallTracker 对象并使用其 calls 方法来创建包装器函数,该函数将在每次调用它们时计数。然后,可以使用 verify 方法来断言预期的调用次数:
const assert = require('assert');
const tracker = new assert.CallTracker();
function func() {}
// callsfunc() must be called exactly twice before tracker.verify().
const callsfunc = tracker.calls(func, 2);
callsfunc();
callsfunc();
function otherFunc() {}
// The second parameter defaults to `1`.
const callsotherFunc = tracker.calls(otherFunc);
callsotherFunc();
// Calls tracker.verify() and verifies if all tracker.calls() functions have
// been called the right number of times.
process.on('exit', () => {
tracker.verify();
});
此外,tracker.report() 将返回一个数组,其中包含有关错误的信息(如果存在):
const assert = require('assert');
const tracker = new assert.CallTracker();
function func() {}
const callsfunc = tracker.calls(func);
console.log(tracker.report());
/*
[
{
message: 'Expected the func function to be executed 1 time(s) but was executed 0 time(s).',
actual: 0,
expected: 1,
operator: 'func',
stack: Error
...
}
]
*/
控制台 groupIndentation 选项
控制台构造函数(require('console').Console)现在支持不同的组缩进。
const { Console } = require('console');
const customConsole = new Console({
stdout: process.stdout,
stderr: process.stderr,
groupIndentation: 10
});
customConsole.log('foo');
// 'foo'
customConsole.group();
customConsole.log('foo');
// 'foo'
更新说明:https://nodejs.org/en/blog/release/v14.2.0/
本文暂时没有评论,来添加一个吧(●'◡'●)