【问题标题】:console.log unit test failing under mocha with unknown error在 mocha 下,console.log 单元测试失败,出现未知错误
【发布时间】:2019-04-23 12:30:23
【问题描述】:

我的单元测试因以下代码而失败。当我运行测试时,我看到下面的结果并出现未知错误。我没有得到如何在 console.log 方法中测试第二个参数 paylod。

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 });
      });
    });

【问题讨论】:

    标签: node.js unit-testing mocha.js console.log sinon-chai


    【解决方案1】:

    看起来你只需要将require 解构为logger.js

    '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!
      });
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-20
      • 1970-01-01
      相关资源
      最近更新 更多