Я перенес кодовую базу React в Typescript, и у меня возникают проблемы с настройкой Jest.
Когда я пытаюсь запустить тест Jest для файла * .test.tsx или .test.jsx Я получаю следующую ошибку:
RangeError: Invalid array length
6 |
> 7 | const { JSDOM } = require('jsdom');
| ^
Вот мой jest.config. js:
var tsJesUtils = require('ts-jest/utils');
var pathsToModuleNameMapper = tsJesUtils.pathsToModuleNameMapper;
var tsConfig = require('./tsconfig.json');
var compilerOptions = tsConfig.compilerOptions;
module.exports = {
roots: ["<rootDir>/src/global/ts", "<rootDir>/__tests__"],
preset: "ts-jest/presets/js-with-ts",
moduleNameMapper: pathsToModuleNameMapper(compilerOptions.paths, { prefix: '<rootDir>/src/global/ts/' }),
globals: {
"ts-jest": {
diagnostics: {
warnOnly: true
}
},
},
transformIgnorePatterns: [
"node_modules/react-jsx-parser"
],
// Setup Enzyme
snapshotSerializers: ["enzyme-to-json/serializer"],
setupFilesAfterEnv: ["<rootDir>/__tests__/enzyme.config.js"],
collectCoverage: true,
coverageReporters: [
"text",
"json",
"html"
],
};
А вот мой фермент.config. json file:
import "raf/polyfill";
import { configure, mount, shallow, render } from 'enzyme';
import Adapter from "enzyme-adapter-react-16";
import React from 'react';
const { JSDOM } = require('jsdom');
const dom = new JSDOM('');
configure( { adapter: new Adapter() } );
У кого-нибудь когда-нибудь была эта проблема, и было бы решение для нее?
Я использую Enzyme, Jest и JSDOM, все последние версии. Спасибо!