2017-11-13 94 views
6

Mam następujący żartem Test:Nie można odnaleźć modułu z 'reagują-native-implementation.js'

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(); 
}); 

The IndexSign składnik Wołam nazywa to StyleSheet komponent:

import {StyleSheet} from 'react-native'; 

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

Dla testowanie, używam Gulp:

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

Problem polega na tym, że kiedy uruchamiam ten te st, otrzymuję:

● 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) 

Czy masz pomysł, dlaczego tak się dzieje?

Dlaczego wyszukuje się StyleSheet w react-native-implementation.js zamiast react-native, którą zaimportowałem?

Dlaczego nie może znaleźć StyleSheet?

+0

Znalazłeś rozwiązanie? Natknąłem się na to również – Zephir77167

Odpowiedz

2

Wpadłem na ten sam problem. Dodawanie

w package.json naprawił błąd dla mnie.

+0

, jeśli projekt został utworzony za pomocą 'init-native init ', to jest zrobione dla ciebie – mcabe