#reactjs #typescript #configuration #jestjs
#reactjs #typescript #конфигурация #jestjs
Вопрос:
Может ли кто-нибудь предоставить пример конфигурации по умолчанию «работает как шарм ;)» для приложения Jest React TypeScript, пожалуйста?
Наш текущий jest.config.js является
module.exports = {
roots: [ '/src' ],
transform: {
'^. .tsx?$': 'ts-jest',
'. .(css|styl|less|sass|scss|png|jpg|ttf|woff|woff2)$': 'jest-transform-stub',
},
testRegex: '(/tests/.*|(.|/)(test|spec)).tsx?$',
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
// Setup Enzyme
snapshotSerializers: ['enzyme-to-json/serializer'],
setupFilesAfterEnv: ["/enzymeConfig.ts"]
}
Кажется, мы все еще упускаем что-то важное, но не знаем, что именно..
Комментарии:
1. Что за ошибку вы получаете?
2. Обычно я не могу достичь элемента или вызвать событие или изменение.
Ответ №1:
Я не использую Enzyme (использую библиотеку тестирования React для большинства этих функций). Вот моя конфигурация, которая работает из коробки, но она не так уж сильно отличается.
Определенный в package.json не jest.config.js
"jest": {
"rootDir": "src",
"globals": {
"ts-jest": {
"tsConfig": "tsconfig.test.json"
}
},
"collectCoverageFrom": [
"<rootDir>/**/*.{js,jsx,ts,tsx}"
],
"coverageDirectory": "jest-coverage",
"setupFilesAfterEnv": [
"@testing-library/react/cleanup-after-each",
"jest-styled-components"
],
"setupFiles": [
"raf/polyfill",
"<rootDir>/__jest__/browserMocks.js",
"<rootDir>/__jest__/matchMediaMock.js"
],
"transform": {
"^. \.tsx?$": "ts-jest"
},
"testRegex": "(/__tests__/.*|(\.|/)(test|spec))\.tsx?$",
"moduleFileExtensions": [
"ts",
"tsx",
"js",
"jsx",
"json",
"node"
],
"moduleNameMapper": {
"\.(jpg|jpeg|png|svg|css|less|scss)$": "<rootDir>/__jest__/fileMock.js"
}
},