jest测试路由传参
时间: 2025-01-02 19:33:47 浏览: 9
Jest是一个流行的JavaScript测试框架,用于单元测试和集成测试。如果你想在Jest中测试React应用中的路由以及参数传递,你可以使用`react-router-dom`库配合Mock或实际的路由配置。
首先,安装必要的依赖:
```bash
npm install react-router-dom jest-dom @testing-library/react @testing-library/jest-dom
```
然后,在测试文件中,你可以选择模拟(`mock`)路由或者使用`useRouter` Hook获取当前路由信息。下面是一个简单的示例,演示如何模拟路由匹配和参数传递:
```javascript
import { render, screen } from '@testing-library/react';
import Router from 'react-router-dom';
import YourComponent from './YourComponent'; // 要测试的组件
// 模拟匹配到特定路径并传参
jest.mock('react-router-dom', () => ({
useRouteMatch: () => ({ path: '/your-path/:param' }),
}));
test('renders with route params', () => {
render(<YourComponent />);
const param = screen.getByText(/(\d+)/); // 获取包含参数的部分,这里假设参数是个数字
expect(param).toBeInTheDocument();
});
```
在这个例子中,我们模拟了`useRouteMatch`返回了一个带参数的路径,然后在你的组件中访问这个参数并测试它是否正确显示。
阅读全文