Я пытаюсь развернуть приложение React (с экспрессом на сервере) на Heroku, используя Travis for CI.Все тесты проходят локально, но у меня проблема с энзимом.Для каждого протестированного компонента я получаю это сообщение на Travis:
FAILsrc / tests / HomePage.test.js
● Не удалось запустить набор тестов
Не удается найти модуль "../../src/setupTests" из "HomePage.test.js" в Resolver.resolveModule (node_modules / реагировать-scripts / node_modules / jest-> resol / build / index.js: 179: 17) на объекте.(src / tests / HomePage.test.js: 3: 1)
Похоже, мой путь к файлу setupTests.js указан неверно, но как он может работать локально?
введите описание изображения здесь
Если я не импортирую файл setupTests для каждого тестируемого компонента, я получаю это сообщение об ошибке:
Enzyme Internal Error: Enzyme ожидает, что адаптер настроен, но >> не нашел ни одного.Чтобы настроить адаптер, вы должны вызвать Enzyme.configure({ adapter: new Adapter() })
перед использованием любого из API-интерфейсов верхнего уровня Enzyme, где Adapter
- это адаптер, соответствующий тестируемой в данный момент библиотеке.Например: импортировать Адаптер из 'фермент-адаптер-реактив-15';
Вот как я настроил Трэвиса:
language: node_js
node_js: node
services:
- mongodb
cache:
directories:
- node_modules
env:
- CI=true
script:
- cd server && npm install && npm test
- cd ../client && npm install && npm run build && npm test
deploy:
provider: heroku
api_key:
secure: MY-API-KEY
app: MY-APP-NAME
on:
repo: MY-REPO
My setupTests.js
import Enzyme from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';
import { configure } from 'enzyme'
configure({adapter: new Adapter()});
Мой пакет.json:
{
"name": "central",
"version": "0.1.0",
"private": true,
"dependencies": {
"enzyme-adapter-react-16": "^1.3.1",
"jwt-decode": "^2.2.0",
"material-ui": "^0.20.2",
"moment": "^2.22.2",
"prop-types": "^15.6.2",
"react": "^16.4.1",
"react-dom": "^16.4.1",
"react-redux": "^5.0.7",
"react-router-dom": "^4.3.1",
"react-stripe-checkout": "^2.6.3",
"redux": "^4.0.0",
"redux-form": "^7.4.2",
"redux-thunk": "^2.3.0",
"socket.io-client": "^2.1.1",
"validator": "^10.7.1"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"proxy": "http://localhost:8080",
"devDependencies": {
"enzyme": "^3.5.0",
"mock-local-storage": "^1.0.5",
"react-scripts": "^1.1.4",
"react-test-renderer": "^16.4.2"
}
}
Что я делаю не так?Помощь очень ценится!