2015-02-06 6 views
7

Ich bin neu beim Testen mit Jest und ich kann nicht in der Lage sein, die Konsolenausgabe von Modulen zu sehen, die ich testen möchte.Warum kann ich keine Konsolenprotokollausgabe sehen, wenn Knoten apps mit Jest getestet werden?

my-module.js:

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

Warum ist mein console.log Ausgang Scherz Schlucken in "my-module.js"?

Antwort

3

Jest scheint standardmäßig alles zu verhöhnen. Welches Problem habe ich angetroffen?

Unterstrich "_" wurde verspottet und es gab keinen sichtbaren Fehler, daher kam die Ausführung niemals an die console.log.

Es gibt drei Möglichkeiten (soweit ich weiß), um eine solche Situation zu verhindern:

  1. In Ihrer package.json Datei verhindern Verspottung Knotenmodule (die Strich enthält)

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

  2. explizit auto spöttisch in der Testdatei verhindern mit:

    jest.autoMockOff();

  3. Explizit ausschließen Strich von spöttischen:

    jest.unmock('underscore');

Verwandte Themen