gpt4 book ai didi

reactjs - 如何使用 Jest 和 react 测试库在 react 中测试路线

转载 作者:行者123 更新时间:2023-12-04 07:56:37 24 4
gpt4 key购买 nike

所以我试图测试每个 Route 组件和 url 是否匹配
功能

const App = () => (
<Provider store={store}>
<Router>
<Layout>
<Switch>
<Route exact path='/' component={HomePage} />
<Route exact path='/login' component={LoginPage} />
<Route exact path='/signup' component={SignupPage} />
<Route exact path='/recipes' component={RecipesPage} />
<Route exact path='/recipes/:id' component={RecipeDetailPage} />
<Route exact path='/reset_password' component={ResetPasswordPage} />
<Route exact path='/password/reset/confirm/:uid/:token' component={ResetPasswordConfirmPage} />
<Route component={NotFound} />
</Switch>
</Layout>
</Router>
</Provider>
);
任何人都知道我如何测试这个?

最佳答案

所以经过一些试验和错误后,我设法得到了答案,这是对我有用的测试:
(我在 homePage 中添加了一个 test-id,这样我就可以知道这是渲染的组件)

describe('App', () => {
beforeEach(() => {
const renderWithRouter = (ui, { route = '/' } = {}) => {
window.history.pushState({}, 'Test page', route);

return render(ui, { wrapper: BrowserRouter });
};
renderWithRouter(<App />);
});
afterEach(() => {
cleanup();
});
test('should render without crashing', () => {});
test('should render home page', () => {
const homePage = screen.getByText('homePage');
expect(homePage).toBeInTheDocument();
});
});

关于reactjs - 如何使用 Jest 和 react 测试库在 react 中测试路线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66672332/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com