У меня проблемы с запуском ts-jest на CircleCI. Я не совсем уверен, что здесь происходит, но когда я запускаю jest на своей локальной машине, тесты заканчиваются sh за 6 секунд. Когда я запускаю их в CircleCI, они либо заканчивают sh примерно за 10 минут, либо сборка взрывается из-за переполнения памяти примерно через минуту на этапе тестирования.
Некоторые из моих подозрений включают в себя то, как я отображаю .png файлы в пустой js файл, версию jest, которую я использую (которая необходима, так как мне нужно, чтобы она могла работать с react-scripts build
), или у меня есть тест с утечкой памяти где-то.
Вот мой jest.config. js:
module.exports = {
roots: ['<rootDir>/src'],
transform: {
'^.+\\.tsx?$': 'ts-jest',
},
testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$',
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
setupFiles: [
'./setupTests.ts'
],
moduleNameMapper: {
"\\.(css|less|png)$": "<rootDir>/mocks/styleMock.js"
}
}
А вот мой пакет. json:
{
"name": "project",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "4.2.4",
"@testing-library/react": "9.4.1",
"@testing-library/user-event": "7.2.1",
"@types/enzyme": "3.10.5",
"@types/jest": "24.9.1",
"@types/lodash": "^4.14.149",
"@types/node": "12.12.28",
"@types/react": "16.9.23",
"@types/react-beautiful-dnd": "^12.1.1",
"@types/react-dom": "16.9.5",
"@types/reactstrap": "^8.4.2",
"aws-sdk": "^2.627.0",
"bootstrap": "^4.4.1",
"dotenv": "^8.2.0",
"enzyme": "3.11.0",
"enzyme-adapter-react-16": "1.15.2",
"jest": "24.9.0",
"lodash": "^4.17.15",
"react": "16.12.0",
"react-beautiful-dnd": "^13.0.0",
"react-dom": "16.12.0",
"react-router-dom": "^5.1.2",
"react-scripts": "3.4.0",
"reactstrap": "^8.4.1",
"ts-jest": "25.2.1",
"typescript": "3.7.5"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"deploy": "npm run build && aws s3 sync build/ s3://bitter-jester-data-manager",
"test": "jest",
"eject": "react-scripts eject",
"buildEnv": "./buildEnv.sh"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
},
"devDependencies": {
"css-loader": "^3.4.2",
"react-test-renderer": "16.12.0",
"style-loader": "^1.1.3"
},
"jest": {
"moduleNameMapper": {
"\\.(css|less|png)$": "<rootDir>/__mocks__/styleMock.js"
}
}
}
И вот что я делаю для файлы .png:
module.exports = {};
Если у кого-нибудь есть какие-либо идеи о том, в чем может быть проблема, или о методах отладки, я был бы очень признателен.