Node.js console.log单元测试在mocha下失败,错误未知
我的单元测试因以下代码而失败。当我运行测试时,我看到以下带有未知错误的结果。我不知道如何在console.log方法中测试第二个参数paylodNode.js console.log单元测试在mocha下失败,错误未知,node.js,unit-testing,mocha.js,console.log,sinon-chai,Node.js,Unit Testing,Mocha.js,Console.log,Sinon Chai,我的单元测试因以下代码而失败。当我运行测试时,我看到以下带有未知错误的结果。我不知道如何在console.log方法中测试第二个参数paylod Test console log() -----------|----------|----------|----------|----------|-------------------| File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s | ----
Test console log()
-----------|----------|----------|----------|----------|-------------------|
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s |
-----------|----------|----------|----------|----------|-------------------|
All files | 66.67 | 100 | 0 | 66.67 | |
logger.js | 66.67 | 100 | 0 | 66.67 | 6 |
-----------|----------|----------|----------|----------|-------------------|
npm ERR! Test failed. See above for more details.
//logger.js
'use strict';
const log = (message, payload) => {
console.log(message, JSON.stringify(payload, null, 2));
};
module.exports = { log };
// log.test.js
'use strict';
const chai = require('chai');
const sinon = require('sinon');
chai.use(require('sinon-chai'));
const { expect } = chai;
const log = require('../../src/logger');
describe('Test console log()', () => {
it('should log value in console', () => {
this.stub = sinon.stub(console, 'log');
log('test invoked', { option: 1 });
});
});
看起来您只需要为
logger.js
解构您的require
:
'use strict';
const sinon = require('sinon');
const { log } = require('../../src/logger'); // <= destructuring assignment
describe('Test console log()', () => {
it('should log value in console', () => {
const stub = sinon.stub(console, 'log');
log('test invoked', { option: 1 });
stub.restore();
sinon.assert.calledWith(stub, 'test invoked', JSON.stringify({ option: 1 }, null, 2)); // Success!
});
});
“严格使用”;
const sinon=要求(“sinon”);
const{log}=require('../../src/logger');//{
它('应在控制台中记录值',()=>{
const stub=sinon.stub(控制台,'log');
日志('testinvoked',{option:1});
stub.restore();
sinon.assert.calledWith(stub'test invoked',JSON.stringify({option:1},null,2));//成功!
});
});