2017-11-13 9 views
6

나는 다음과 같은 농담 시험이 있습니다 들어은 모듈을 찾을 수 없습니다 '반응 - 네이티브 implementation.js'

import {StyleSheet} from 'react-native'; 

export default StyleSheet.create({ 
    //some styles 
}); 

: 나는 호출이 StyleSheet 구성 요소를 호출하고

import React from 'react'; 
import IndexSign from '../IndexSign'; 
import renderer from 'react-test-renderer'; 

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

IndexSign 구성 요소를 테스트, 나는 Gulp를 사용하고있다 :

gulp.task('tests',() => { 
    process.env.NODE_ENV = 'test'; 
    return gulp.src('src').pipe(jest({ 
    })); 
}); 

문제는 내가이 te 성함 :받은 편지함 :

● Test suite failed to run 

Cannot find module 'StyleSheet' from 'react-native-implementation.js' 

    at Resolver.resolveModule (../node_modules/jest-resolve/build/index.js:142:17) 
    at Object.StyleSheet (../node_modules/react-native/Libraries/react-native/react-native-implementation.js:98:25) 
    at Object.<anonymous> (styles/Styles.js:5:13) 

어째서 이런 일이 일어나는가?

내가 가져온 react-native이 아닌 StyleSheetreact-native-implementation.js에서 검색하는 이유는 무엇입니까?

그리고 왜 StyleSheet을 찾을 수 없습니까?

+0

솔루션을 찾았습니까? 이것도 우연히 만났습니다 – Zephir77167

답변

2

같은 문제가 발생했습니다. package.json에서

"jest": { 
    "preset": "react-native" 
}, 

를 추가하면 나에게 오류를 해결했습니다.

+0

프로젝트가'react-native init'으로 생성 된 경우 이것이 수행됩니다 – mcabe