javascript - React Router <LINK>如何在 Jest 测试中获取 href 的值

标签 javascript reactjs react-router jestjs

React JS 新手,并在 Jest 中编写测试用例以检查组件中的链接。我正在使用 react-router以及使用 <LINK to="{{pathname: link}}" />Link</LINK> 的链接, 我正在使用 react-router 2.0.我看到一些帖子建议您需要以一种或另一种方式对 react-router 进行 stub ,但这些都与 1.0 版有关。我还需要做类似的事情吗?我可以通过选择类来获取节点,但无法获取 href 的值.

 let link = TestUtils.findRenderedDOMComponentWithClass(widgetComponent, 'link');
 let linkNode = ReactDOM.findDOMNode(link);
 let renderedLink = linkNode.attributes['href'].value;
 expect(renderedLink).toContain('test-link');

请指教。

最佳答案

如果您想使用 enzyme,我认为这可能有效.如果您只关心匹配 href(或链接“to”属性),您可以这样做:

import React from 'react';
import { Link } from 'react-router';
import { shallow } from 'enzyme';

const wrapper = shallow(widgetComponent);
expect(wrapper.find(Link).props().to).toEqual('test-link');

关于javascript - React Router <LINK>如何在 Jest 测试中获取 href 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36587685/

相关文章:

javascript - React 组件在 React bootstrap Navbar 下渲染

javascript - 在页面加载事件中使用 Javascript 更改 CSS

javascript - 从目录和 session 变量问题中检索图像 - php

Javascript 正则表达式流行语

javascript - 如何根据当前日期从数组中找到最接近的日期值?

javascript - 页面重定向时如何从 webview 获取 url? (这是功能组件而不是类)

javascript - redux-saga select() 返回未定义

reactjs - 我怎样才能使它成为一个包含钩子(Hook)的可调用 utils 函数?

javascript - HistoryApiFallback 在 Webpack 开发服务器中不起作用

reactjs - 如何在渲染主页之前验证 token