2017-01-25 4 views
4

Теперь я использую реакцию JEST для проверки кода. Если компонент холост, и ничего не импортировать еще, «тест НПМ» проходит гладко, и теперь, я хочу проверить несколько компонентов вместе, и я сразу же получил эту ошибку:Реакция JS Jest вызывает «SyntaxError: Неожиданный токен».

SyntaxError: Unexpected token . 

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

require('./style/fixed-data-table.css'); 
require('./style/jnpr-datatable.scss'); 

, а затем с помощью шутки бросает неожиданный токен "." ошибка.

В моих настройках должно быть что-то не так, но где? My Package.json содержит:

"jest": { 
    "unmockedModulePathPatterns": [ 
    "<rootDir>/node_modules/react/", 
    "<rootDir>/node_modules/react-dom/", 
    "<rootDir>/node_modules/react-addons-test-utils/" 
    ] 
} 

И .babelrc уже в корне. Также включен бутерброд. Спасибо

+0

вы можете попробовать: ** "игнорировать": [ "* .css", "* СКС"] ** в вашем .babelrc – Hosar

+2

http://stackoverflow.com/questions/39418555/syntaxerror -with-jest-and-react-and-importing-css-files может помочь –

+0

Я использовал это: { "presets": ["es2015", "response"], "ignore": [".css", ".scss"] } в babelrc, при запуске npm test, такая же ошибка. Есть идеи? – user3006967

ответ

7

Посмотрите на jest docs для webpack integration. Проблема в том, что jest can not работает с другим материалом, а затем js. Таким образом, вы должны издеваться над всеми файлами js, которые вы импортируете. Самый простой способ - настроить moduleNameMapper в своих конфигурациях jest.

{ 
    "jest": { 
    "moduleNameMapper": { 
     "\\.(css|scss)$": "<rootDir>/__mocks__/styleMock.js" 
    } 
    } 
} 

с __mocks__/styleMock.js, который выглядит следующим образом.

module.exports = {}; 
+0

Умное решение! Это единственное, что заставляет его работать. благодаря – user3006967

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