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?