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
...
}
]
*/
Node.js v14.2.0 发布
Node.js v14.2.0 发布了,主要更新内容包括:
使用
assert.CallTracker跟踪函数调用(实验)assert.CallTracker是一个新的实验性 API,它允许跟踪并稍后验证函数被调用的次数。通过创建一个CallTracker对象并使用其calls方法来创建包装器函数,该函数将在每次调用它们时计数。然后,可以使用verify方法来断言预期的调用次数:此外,
tracker.report()将返回一个数组,其中包含有关错误的信息(如果存在):控制台
groupIndentation选项控制台构造函数(
require('console').Console)现在支持不同的组缩进。更新说明:https://nodejs.org/en/blog/release/v14.2.0/