Ich habe eine React-Anwendung (ohne Create React App), die mit TypeScript, Jest, Webpack und Babel erstellt wurde. Beim Versuch, "Garnscherz" auszuführen, wird die folgende Fehlermeldung angezeigt:
Ich habe versucht, alle Pakete zu entfernen und erneut hinzuzufügen. Dies wird nicht behoben. Ich habe mir ähnliche Fragen und Unterlagen angesehen und verstehe immer noch etwas falsch. Ich ging so weit, einer anderen Anleitung zum Einrichten dieser Umgebung von Grund auf zu folgen, und erhielt dieses Problem immer noch mit meinem Code.
Abhängigkeiten umfassen ...
"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",
Die Importzeilen der Komponente ...
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";
Die Testdatei ....
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();
});
Ich hatte erwartet, benannte Importe in meinen Komponenten verwenden zu können, ohne dass meine Tests explodierten. Es scheint das Problem zu beheben, wenn ich nur Standardimporte über meine Lösung verwende, aber ich würde es vorziehen, diesen Weg nicht zu gehen.
require
anstelle vonimport
nur für diese eine Datei umgestellt .