2016-08-22 2 views
1

Я использую следующий package.json (согласно http://facebook.github.io/jest/docs/tutorial-react-native.html#content):Jest - Unknow "запрограммированный" - "Шутка реагируют родной"

{ 
    "scripts": { 
    "start": "node node_modules/react-native/local-cli/cli.js start", 
    "test": "jest", 
    }, 
    "dependencies": { 
    "react": "^15.3.1", 
    "react-native": "0.31.0", 
    }, 
    "devDependencies": { 
    "babel-jest": "^14.1.0", 
    "babel-preset-react-native": "^1.9.0", 
    "jest": "^14.1.0", 
    "jest-cli": "^13.1.0", 
    "jest-react-native": "^14.1.3", 
    "react-test-renderer": "^15.3.1" 
    }, 
    "jest": { 
    "globals": { 
     "__DEV__": true, 
     "__RCTProfileIsProfiling": false 
    }, 
    "preset": "jest-react-native" 
    } 
} 

Но я получаю ошибку:

Error: Unknown config option "preset" with value "jest-react-native". This is either a typing error or another user mistake and fixing it will remove this message. 
Using Jest CLI v13.2.3, jasmine2, babel-jest 
FAIL __tests__/AuthorRequest-test.js (0s) 
● Runtime Error 
    - Error: Cannot find module 'throwOnWrongReactAPI' from 'react-native.js' 
     at Resolver.resolveModule (node_modules/jest-cli/node_modules/jest-resolve/build/index.js:197:17) 
     at eval (node_modules/react-native/Libraries/react-native/react-native.js:180:26) 
     at Object.<anonymous> (node_modules/react-native/Libraries/react-native/react-native.js:189:4) 
1 test suite failed, 0 tests passed (0 total in 1 test suite, run time 2.238s) 
npm ERR! Test failed. See above for more details. 

мой файл .babelrc содержит:

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

ответ

0

у меня есть ощущение, что вы используете неправильную версию Jest. У вас есть:

"jest": "^14.1.0", 
"jest-cli": "^13.1.0" 

Но, кажется, вы установили 13.2.3 с помощью npm -g:

Using Jest CLI v13.2.3, jasmine2, babel-jest 

Прежде всего, я думаю, вы можете удалить jest-cli и просто использовать jest 14.1.0.

Затем вы можете обновить test сценарий, как:

"scripts": { 
    "test": "./node_modules/jest/bin/jest.js" 
} 

Таким образом, вы убедитесь, что вы запустите локальную шутя копию вашего проекта, поэтому он должен сейчас сказать:

Using Jest CLI v14.1.0, jasmine2, babel-jest 

Сделав это и следуя официальному docs, вы разместили его, это должно быть все, что вам нужно (не можете сказать точно, так как вы не опубликовали тестовый код).

+0

Спасибо за ваш ответ. Мне показалось, что в моем кеше была какая-то шутка. Я обновил: «babel-jest»: «*», «babel-preset-react-native»: «^ 1.9.0», «шутка» -cli ": "*", "шутка реагирует родную": "*", "реагировать-тест-визуализатор": "*" и "шутка": { " Глобал": { "__DEV__": истинная }, "запрограммированное": "шутка реагирует родной", " modulePathIgnorePatterns": [ "FBJS", "ядро-JS" ] } со следующими сценариями: «clean-all»: «rm -rf node_modules /; rm -f tsconfig.json; npm cache clean; npm install; " – Arvind

+0

Кстати, https://facebook.github.io/jest/docs/troubleshooting.html#caching-issues. Таким образом, вы также можете попробовать' jest -no-cache'. –

Смежные вопросы