2015-02-06 3 views
7

Я новичок в тестировании со шуткой, и я не могу видеть консольный вывод из модулей, которые хочу протестировать.Почему я не могу видеть вывод журнала консоли при тестировании узлов с помощью шутки

моего-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"?

ответ

3

Жест, кажется, издевается над всем по умолчанию. В чем проблема, с которой я столкнулся.

Подчеркивание «_» было издевательством, и не было видимой ошибки, поэтому исполнение никогда не попадалось на console.log.

Есть три возможности (насколько я знаю), чтобы предотвратить такую ​​ситуацию:

  1. В файле package.json, предотвратить насмешки узловых модулей (который включает в себя подчеркивание)

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

  2. Явные предотвратить автоматическую насмешку в тестовом файле с помощью:

    jest.autoMockOff();

  3. Явное исключить подчеркивание из насмешливо:

    jest.unmock('underscore');