2017-03-23 4 views
3

의 모의 가져 오기 I 현재이 같은 내 반작용 구성 요소 중 하나를 테스트입니다 :는 농담 : JSON 파일

it('renders correctly',() => { 
    const tree = renderer.create(<Scene {...props} />).toJSON(); 
    expect(tree).toMatchSnapshot(); 
}); 

내 구성 요소 Scenesetting.json 파일을 가져옵니다. 내 로컬 인스턴스에 해당 파일이 있지만 내 CI 인스턴스에 밀어 넣지 않습니다. 따라서 가져 오기를 시도 할 때 파일을 찾을 수 없습니다.

테스트에서이 파일을 모의 할 수있는 방법이 있습니까?

+0

수동 모의 작품을 만들어야한다고 생각합니다. – Codesingh

답변

5

jest 설정에서 moduleNameMapper을 사용하여 가져온 json 파일로 가져 오기를 지정할 수 있습니다.

{ 
    "moduleNameMapper": { 
    "setting.json": "<rootDir>/__mocks__/setting.json" 
    } 
} 

아니면, 파일을 직접 모의 테스트 내부 jest.mock을 사용할 수 있습니다 당신이 { virtual: true } 매개 변수를 추가 할 필요가 있습니다.

jest.mock('path/to/setting.json',()=>({ 
    settings: 'someSetting' 
}), { virtual: true }) 
+0

나는 jest.mock 접근법을 시도했는데'get.test.js '모듈에서'path/to/setting.json '모듈을 찾을 수 없다. – Gabriel

+0

경로는 테스트 파일과 관련이있다. –

+0

실재하지 않는 "가상"파일을 모의하고 싶었습니다. 이렇게하려면'{virtual : true}'옵션이 필요합니다. 예 :'jest.mock ('path/to/file,() => ({foo :'bar '}), {virtual : true})'. Thanks @ andreas-köberle – Gabriel