相关疑难解决方法(0)

如何测试带有 <Router> 标签的组件?

关于:

嘿,目前我正在尝试使用 jest 和 react 测试库为我的 react 组件编写测试。我也使用反应路由器。

问题:

我想检查当路径更改时应用程序是否路由到正确的组件而不与单个组件交互。

例如,如果当前路径名是“/impressum”,我只想从 Impressum 页面获取快照。

我不知道如何将路径传递到,<App>以便只显示一条路线。

我正在尝试测试的组件:

import React from 'react'
import { BrowserRouter as Router, Switch, Route } from "react-router-dom"

import WeatherPage from "../WeatherPage/WeatherPage.js"
import AddWeatherPage from "../AddWeatherPage/AddWeatherPage.js"
import WeatherDetailsPage from "../WeatherDetailsPage/WeatherDetailsPage.js"
import DeleteWeatherPage from '../DeleteWeatherPage/DeleteWeatherPage.js'
import ImpressumPage from '../ImpressumPage/ImpressumPage.js'

class App extends React.Component {
  render() {
    return (
      <Router>
        <Switch>
          <Route path="/weatherDetails" component={WeatherDetailsPage} />
          <Route path="/addWeather" component={AddWeatherPage} />
          <Route path="/deleteWeather" component={DeleteWeatherPage} />
          <Route path="/impressum" component={ImpressumPage} />
          <Route path="/" …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-router react-testing-library

4
推荐指数
1
解决办法
2194
查看次数