Ho un'applicazione React (che non usa Create React App) creata usando TypeScript, Jest, Webpack e Babel. Quando provo a eseguire "jest filato", viene visualizzato il seguente errore:
Ho provato a rimuovere tutti i pacchetti e ad aggiungerli di nuovo. Non risolve questo. Ho esaminato domande e documentazione simili e sto ancora fraintendendo qualcosa. Sono arrivato al punto di seguire un'altra guida per configurare questo ambiente da zero e ho ancora ricevuto questo problema con il mio codice.
Le dipendenze includono ...
"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",
Le righe di importazione del componente ...
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";
Il file di test ....
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();
});
Mi aspettavo di poter usare le importazioni con nome nei miei componenti senza che i miei test fossero esplosi. Sembra risolvere il problema se uso solo le importazioni predefinite tramite la mia soluzione, ma preferirei non seguire questa strada.
require
invece diimport
, solo per questo file.