Я хочу проверить, отображается ли компонент NotFoundScreen
при изменении URL-адреса на несуществующий путь
Это мой компонент приложения:
import React, { Component } from 'react';
import { BrowserRouter, Route, Switch } from 'react-router-dom';
import './App.css';
import HomeScreen from '../HomeScreen';
import NotFoundScreen from '../NotFoundScreen';
export default class App extends Component {
render() {
return (
<BrowserRouter>
<Switch>
<Route path="/" exact component={HomeScreen} />
<Route component={NotFoundScreen} />
</Switch>
</BrowserRouter>
);
}
}
ИВот мой неработающий тест:
it('render NotFoundScreen when goes to a wrong path', async () => {
const wrapper = mount(<App />);
window.location.href = 'http://localhost:3000/wrongpath';
await wrapper.update();
expect(wrapper.find(NotFoundScreen).length).toEqual(1);
});
Когда я переключаюсь на проверку компонента HomeScreen, который он проходит, он как wrapper
не обновляется в соответствии с URL
expect(wrapper.find(HomeScreen).length).toEqual(1);