TypeScript, Jest, Webpack ve Babel kullanılarak oluşturulan bir React uygulaması (Create React App kullanmadan) var. "İplik jest" çalıştırmaya çalışırken, aşağıdaki hatayı alıyorum:
Tüm paketleri kaldırmayı ve yeniden eklemeyi denedim. Bunu çözmez. Benzer sorulara ve belgelere baktım ve hala bir şeyleri yanlış anlıyorum. Şimdiye kadar bu ortamı sıfırdan ayarlamak için başka bir kılavuzu takip etmek için gittim ve hala kodumla bu sorunu aldım.
Bağımlılıklar şunları içerir ...
"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",
Bileşenin ithalat hatları ...
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";
Test dosyası ....
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();
});
Testlerim patlamadan bileşenlerimde adlandırılmış ithalat kullanabilmeyi bekliyordum. Çözümüm aracılığıyla yalnızca varsayılan içe aktarmaları kullanırsam sorunu giderir gibi görünüyor, ancak bu rotaya gitmemeyi tercih ederim.
require
yerine kullanmaya başladımimport
.