【发布时间】:2020-09-18 21:38:22
【问题描述】:
我测试了我的 React 应用程序,但我的视图中出现了所有 Link react router dom 的错误。
Index.js
import {
BrowserRouter as Router,
Switch,
Route
} from "react-router-dom";
function App({props}) {
return (
<div>
<Navbar />
<Switch>
<Route path="/" exact component={Homepage} appProps={props}/>
<Route path="/accueil" exact component={Homepage} appProps={props}/>
<Route component={Error} />
</Switch>
<Footer />
</div>
);
}
ReactDOM.render(
<Router>
<App />
</Router>,
document.getElementById("fatboar")
);
Homepage.js
import { Link } from 'react-router-dom';
export default function Homepage(props) {
return (
<Link to="/ajouter-ticket" className="primary-btn mt-5">Je participe</Link>
)
}
我的链接如何在我的路由器之外?
【问题讨论】:
-
如何渲染导致错误的“测试”组件?当您说“测试”时,您是指 实际 单元测试,还是只是在浏览器中测试一些 UI?
-
是的,当你测试一个 React Router Dom 时,一个只有一个链接的页面。他不运行上下文。然后我需要给他一个路由器在测试是好的。没关系,我找到了解决方案;)谢谢回复
-
是的,当测试应用程序中通常在
Router中呈现的组件时,您还需要在单元测试中提供或包装它(对于任何其他提供程序也是如此,例如 redux ,主题等...)。 IDK 你正在使用什么测试框架,但是 react-testing-library 非常适合这个。很容易创建自己的模拟 HOC 包装器集合(甚至可以像真实应用的 HOC 一样组合)以进行测试。