我正在运行带有react-16.8.6的create-react-app,除了将react-router添加到混合中之外,没有任何修改。现在测试不起作用。
回滚之后,我发现只要导入“ react-router-dom”库的任何部分,基本测试就会失败。任何想法出什么事了吗?
当我注释掉该行时,下面是App.js和App.test.js:
import { Switch } from "react-router-dom";
测试运行没有问题。当我将行返回到代码时,出现以下错误:
测试套件无法运行
无法从'react-router-dom.js'中找到模块'react'
但是,Jest能够找到:
'./App.css'
'./App.js'
'./App.test.js'
App.js
import React from "react";
import { Switch } from "react-router-dom";
import logo from "./logo.svg";
import "./App.css";
function App() {
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<p>
Edit <code>src/App.js</code> and save to reload.
</p>
<a
className="App-link"
href="https://reactjs.org"
target="_blank"
rel="noopener noreferrer"
>
Learn React
</a>
</header>
</div>
);
}
export default App;
app.test.js
import React from "react";
import ReactDOM from "react-dom";
import App from "./App";
it("renders without crashing", () => {
const div = document.createElement("div");
ReactDOM.render(<App />, div);
ReactDOM.unmountComponentAtNode(div);
});