2015-02-06 10 views
7

Sono nuovo al test con jest e non riesco a vedere l'output della console dai moduli che voglio testare.Perché non riesco a vedere l'output del log della console durante il test delle app di nodo con james

my-module.js:

my-module-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]); 
    }); 
}); 

Perché scherzo deglutizione mia uscita console.log in "my-module.js"?

risposta

3

Jest sembra prendere in giro tutto per impostazione predefinita. Qual è il problema che ho incontrato.

Underscore "_" è stato preso in giro e non c'era alcun errore visibile, quindi l'esecuzione non è mai arrivata al console.log in primo luogo.

ci sono tre possibilità (per quanto ne so) per evitare che una situazione del genere:

  1. Nel file package.json, prevenire beffardo di moduli nodo (che include sottolineatura)

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

  2. esplicitamente prevenire beffardo auto nel file di prova utilizzando:

    jest.autoMockOff();

  3. esplicitamente escludere sottolineatura beffardo:

    jest.unmock('underscore');