我有一个节点模块,我正在尝试为其编写单元测试。这是模块的一部分:
function _write(level, message) {
if (level <= _current) {
message = message || "No message provided.";
const consoleFn = consoleFunction[level];
const logFn = console[consoleFn];
logFn(`${levelPrefix[level]}: ${message}`);
}
}
当我运行包括这个在内的测试时:
test('test writing to error log', () => {
logger.__Rewire__('_write', function (level, message) {
console.error(`ERROR: ${message}`);
});
const spy = jest.spyOn(logger, 'error');
logger.error('error message');
expect(spy).toHaveBeenCalledTimes(1);
});
但是,在运行测试之后,_write 函数似乎仍然没有出现在覆盖结果中。有没有办法让我们开玩笑地理解所有代码行都在练习?请注意,“Uncovered Line #s”指的是 _write 函数的确切行号。我曾希望通过重新连接该功能,这将使我的覆盖率达到 100%。