React Router之测试

1.简介

React Router依靠React上下文来工作。这会影响您如何测试使用我们的组件的组件。

2.语境

如果尝试对呈现a<Link>或a<Route>等的组件之一进行单元测试,则会收到一些有关上下文的错误和警告。

虽然你可能受到诱惑,自己存根出路由器背景下,我们建议你换你的单元测试中的一个Router组成部分:基础Routerhistory支柱,或者<StaticRouter><MemoryRouter>或者<BrowserRouter>(如果window.history是作为测试环境全球)。

建议使用MemoryRouter或自定义history,以便能够在两次测试之间重置路由器。

class Sidebar extends Component {
  // ...
  render() {
    return (
      <div>
        <button onClick={this.toggleExpand}>expand</button>
        <ul>
          {users.map(user => (
            <li>
              <Link to={user.path}>{user.name}</Link>
            </

猜你喜欢

转载自blog.csdn.net/qq_27868061/article/details/112726798