反应测试库:测试路由器重定向
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了反应测试库:测试路由器重定向相关的知识,希望对你有一定的参考价值。
如何在重定向后测试路由器链接是否已更改?
单击按钮后,它应重定向到URL以“ new_page”结尾的另一页。
这是我尝试过的,但是我一直不确定。
{getByTestId} = render(<MyButton />);
const mockBoxIconButton = getByTestId('box-icon-button');
mockBoxIconButton.click();
console.log(getByTestId('box-icon-button').closest('a')); # undefined
console.log(getByTestId('box-icon-button').location.href); # undefined
expect(
mockExtractionButton.getByTestId('box-icon-button').closest('a')
).toHaveAttribute('href', /http[a-zA-Z0-9:/-]*new_page/);
});
答案
react-testing-library
的目的不是测试代码实现,而是测试用户如何感知UI交互。因此,根据您的情况,我建议不要在路由后寻找/new_page
路径。而是在重定向到页面后测试用户将与之交互的内容。它可能是标题,段落或跨度标签(无论您最重要的交互感觉如何)内的另一种按钮交互或可读数据。
请参阅以下文章,以使内容更清楚:-
https://kentcdodds.com/blog/introducing-the-react-testing-library
以上是关于反应测试库:测试路由器重定向的主要内容,如果未能解决你的问题,请参考以下文章