2015-02-06 3 views
7

jest로 테스트를 처음 사용하기 때문에 테스트하려는 모듈에서 콘솔 출력을 볼 수없는 것 같습니다.jest로 노드 앱을 테스트 할 때 콘솔 로그 출력을 볼 수없는 이유는 무엇입니까

내-module.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 출력을 삼키는된다

내 모듈-test.js

"my-module.js"?

답변

3

Jest는 기본적으로 모든 것을 조롱하는 것처럼 보입니다. 내가 직면 한 문제는 어느 것입니까?

언더 코어 "_"가 조롱되었고 눈에 보이는 오류가 없어 실행이 처음에는 console.log에 없었습니다. (밑줄 포함) 노드 모듈의 조롱

"jest": { "unmockedModulePathPatterns": ["/node_modules/"] } 을 방지하여 package.json 파일에서

  1. :

    은 (내가 아는 한) 이러한 상황을 방지하기 위해 세 가지 가능성이 있습니다

  2. 명시 적으로 사용하여 테스트 파일에 자동 조롱을 방지 :

    jest.autoMockOff();

  3. 명시 적으로 조롱에서 밑줄을 제외 :

    jest.unmock('underscore');