2016-07-04 20 views
2

Ich verwende jest für Unit-Tests in einer react native App, die normalerweise gut funktioniert.Jest & RN & Realm: Fehler: Modul 'throwOnWrongReactAPI' kann nicht gefunden werden von 'react-native.js

Versuch realm Pausen die Tests zu verwenden und gibt diesen Fehler:

Runtime Error 
    - Error: Cannot find module 'throwOnWrongReactAPI' from 'react-native.js' 
     at Resolver.resolveModule (node_modules/jest-resolve/build/index.js:197:17) 
     at Runtime._resolveModule (node_modules/jest-runtime/build/index.js:304:32) 
     at Runtime._getNormalizedModuleID (node_modules/jest-runtime/build/index.js:465:31) 
     at Runtime._shouldMock (node_modules/jest-runtime/build/index.js:511:27) 
     at Runtime.requireModuleOrMock (node_modules/jest-runtime/build/index.js:263:14) 
     at eval (node_modules/react-native/Libraries/react-native/react-native.js:178:32) 
     at Object.<anonymous> (node_modules/react-native/Libraries/react-native/react-native.js:185:492) 
     at Runtime._execModule (node_modules/jest-runtime/build/index.js:352:17) 
     at Runtime.requireModule (node_modules/jest-runtime/build/index.js:202:14) 
     at Runtime._generateMock (node_modules/jest-runtime/build/index.js:418:34) 
1 test suite failed, 0 tests passed (0 total in 1 test suite, run time 6.482s) 

Dies ist die Testdatei:

jest.unmock('../classes/feed.js'); 
import Feed from '../classes/feed'; 

describe('Feed class',() => { 
    it('returns [1, 2] when calling _slice([0, 1, 2], 1)',() => { 
    expect(Feed._slice([0, 1, 2], 1)).toEqual([1, 2]); 
    }); 
}); 

Dies ist die Datei ../classes/feed.js:

import Realm from 'realm'; 

class Feed { 
    _slice(a, b) { 
    return [1, 2]; 
    } 
}; 

export default new Feed(); 

Diese ist mein package.json:

"dependencies": { 
    "babel-preset-react": "^6.11.1", 
    "flux": "^2.1.1", 
    "react": "^15.1", 
    "react-native": "^0.28", 
    "react-native-collapsible": "^0.6.0", 
    "react-native-fbsdk": "^0.2.1", 
    "react-native-scrollable-tab-view": "git+https://github.com/skv-headless/react-native-scrollable-tab-view.git", 
    "react-native-vector-icons": "^2.0.2", 
    "realm": "^0.13.2" 
}, 
"devDependencies": { 
    "babel-cli": "^6.10.1", 
    "babel-jest": "^13.0.0", 
    "babel-polyfill": "^6.9.1", 
    "babel-preset-es2015": "^6.9.0", 
    "jest-cli": "^13.0.0" 
}, 
"jest": { 
    "globals": { 
    "__DEV__": true 
    } 
} 

Mein .babelrc:

{ 
    "presets": ["es2015", "react"] 
} 

Die Tatsache, dass throwOnWrongReactAPI genannt wird, zeigt an, dass eine Nutzung des Moduls veraltet ist react (siehe RN v0.25.1 release notes), aber die Stacktrace hilft nicht, und ich habe beheben Sie dies in der Vergangenheit.

Was mache ich falsch?

Antwort

2

es wurde gelöst durch npm install --save-dev babel-preset-react-native und Ändern der .babelrc zu

{ 
    "presets": ["react-native"] 
} 
RUNNUNG