我看了几个例子,试图让我的React Testing Library测试来模拟一个特定的URL,然后我的React组件将其与useParams
一起使用。
例如,这是有关该主题的一篇“官方”文章:https://react-testing-examples.com/jest-rtl/react-router/
所以我尝试了这段代码:
function renderDom(component) {
const companyId = 226;
const userId = 123;
// console.log(component, companyId, userId);
return {
...render(
<SessionProvider>
<AppProvider>
<MemoryRouter initialEntries={[`/users/company/${companyId}/user-list/${userId}`]} initialIndex={0}>
<Route path='/users/company/:companyId/user-list/:userId'>
{component}
</Route>
</MemoryRouter>
</AppProvider>
</SessionProvider>
)
};
};
但是没有用。当我使用此代码运行测试时,组件代码中的控制台日志实际上并未运行。
因此,我正在寻找一种行之有效的方式来包装我的组件,使其模拟URL。