Tôi có một ứng dụng React (không sử dụng Tạo ứng dụng React) được xây dựng bằng TypeScript, Jest, Webpack và Babel. Khi thử chạy "sợi jest", tôi gặp lỗi sau:
Tôi đã thử loại bỏ tất cả các gói và thêm lại chúng. Nó không giải quyết điều này. Tôi đã xem xét các câu hỏi và tài liệu tương tự và vẫn đang hiểu sai điều gì đó. Tôi đã đi xa đến mức làm theo hướng dẫn khác để thiết lập môi trường này từ đầu và vẫn nhận được vấn đề này với mã của tôi.
Phụ thuộc bao gồm ...
"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",
Các dòng nhập khẩu của thành phần ...
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";
Các tập tin thử nghiệm ....
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();
});
Tôi dự kiến có thể sử dụng hàng nhập khẩu có tên trong các thành phần của mình mà không cần thử nghiệm. Nó xuất hiện để khắc phục sự cố nếu tôi chỉ sử dụng nhập mặc định thông qua giải pháp của mình, nhưng tôi không muốn đi theo tuyến đường đó.
require
thay vìimport
, chỉ cho một tệp này.