当我使用笑话测试节点应用程序时,为什么看不到控制台日志输出

问题描述:

我是新手,想用jest测试,我似乎无法看到我想测试的模块的控制台输出。当我使用笑话测试节点应用程序时,为什么看不到控制台日志输出

我-module.js:

我模块-test.js:

jest.dontMock('../my-module'); 

var testdata = [{label: "test"}, {id: 5}]; 

describe('test my module', function(){ 
    it('changes some data' , function(){ 
     var transformedData = require('../my-module').filter(testdata); 
     expect(transformedData).toBe(testdata[0]); 
    }); 
}); 

为什么笑话吞咽我的console.log输出“我-module.js”?

Jest似乎在默认情况下模拟了一切。这是我遇到的问题。

下划线“_”被嘲笑,并没有可见的错误,所以执行从来没有得到console.log首先。

有三种可能(据我所知),以防止这样的情况:

  1. 在你的package.json文件,防止节点模块嘲讽(包括下划线)

    "jest": { "unmockedModulePathPatterns": ["/node_modules/"] }

  2. 使用明确防止汽车嘲讽你的测试文件:

    jest.autoMockOff();

  3. 明确地嘲讽排除下划线:

    jest.unmock('underscore');