TypeScript, Jest, Webpack 및 Babel을 사용하여 작성된 React 응용 프로그램 (Create React App을 사용하지 않음)이 있습니다. "yarn jest"를 실행하려고하면 다음 오류가 발생합니다.
모든 패키지를 제거하고 다시 추가하려고했습니다. 이 문제는 해결되지 않습니다. 비슷한 질문과 문서를 보았지만 여전히 오해하고 있습니다. 나는이 환경을 처음부터 새로 설정하기위한 다른 가이드를 따르고 여전히 내 코드 로이 문제를 겪었습니다.
종속성은 다음과 같습니다 ...
"dependencies": {
"@babel/plugin-transform-runtime": "^7.6.2",
"@babel/polyfill": "^7.6.0",
"babel-jest": "^24.9.0",
"react": "^16.8.6",
"react-dom": "^16.8.6",
"react-test-renderer": "^16.11.0",
"source-map-loader": "^0.2.4"
},
"devDependencies": {
"@babel/core": "^7.6.0",
"@babel/preset-env": "^7.6.0",
"@babel/preset-react": "^7.0.0",
"@types/enzyme": "^3.9.2",
"@types/enzyme-adapter-react-16": "^1.0.5",
"@types/jest": "^24.0.13",
구성 요소의 가져 오기 라인 ...
import * as React from "react";
import { BrowserRouter as Router, Route, Switch } from "react-router-dom";
import HomePage from "./components/pages";
import {
Footer,
Header,
Navigation,
} from "./components/shared";
테스트 파일 ....
import * as React from "react";
import * as renderer from "react-test-renderer";
import App from "../App";
it("Renders the Footer correctly", () => {
const tree = renderer
.create(<App />)
.toJSON();
expect(tree).toMatchSnapshot();
});
테스트가 중단되지 않고 구성 요소에서 명명 된 가져 오기를 사용할 수있을 것으로 기대했습니다. 솔루션을 통해 기본 가져 오기만 사용하는 경우 문제를 해결하는 것으로 보이지만 해당 경로로 이동하지 않는 것이 좋습니다.
require
대신에 대신 사용으로 전환했습니다import
.