Reactjs Jest测试反应路由器dom链接单击

Reactjs Jest测试反应路由器dom链接单击,reactjs,hyperlink,jestjs,react-router-dom,Reactjs,Hyperlink,Jestjs,React Router Dom,我在开玩笑地捕捉点击链接的过程 <Link to="/exchange">Exchange</Link> 交换 常数comp=挂载( ); 常量链接=组件查找(“链接”); link.simulate(“单击”); //我要测试什么? 我试图弄明白如何添加一个mock而不至于出错。我有一种感觉,我需要检查位置或模拟react router dom模块,但我没有得到任何运气 有人能给我指出正确的方向吗 谢谢您不应该开玩笑地测试dom操作。如果您试图测试点击链接,那么

我在开玩笑地捕捉点击链接的过程

<Link to="/exchange">Exchange</Link>
交换

常数comp=挂载(
);
常量链接=组件查找(“链接”);
link.simulate(“单击”);
//我要测试什么?
我试图弄明白如何添加一个mock而不至于出错。我有一种感觉,我需要检查位置或模拟react router dom模块,但我没有得到任何运气

有人能给我指出正确的方向吗


谢谢

您不应该开玩笑地测试dom操作。如果您试图测试点击链接,那么这个测试已经在库中准备好了

如果您想在某个链接中测试道具,请执行以下操作:

const wrapper = shallow(<MemoryRouter><MyComponent/></MemoryRouter>);
expect(wrapper.find(Link).at(0).props().to).toBe('/my-route');
const wrapper=shallow();
expect(wrapper.find(Link).at(0.props().to).toBe(“/myroute”);

有趣的是,如果我单元测试道具设置正确,然后结合Link的单元测试,它涵盖了它应该导航到/my route我从集成测试的角度接近它,我的组件有一个链接,当我点击它时,X应该出现
const wrapper = shallow(<MemoryRouter><MyComponent/></MemoryRouter>);
expect(wrapper.find(Link).at(0).props().to).toBe('/my-route');