繁体   English   中英

测试React-Router v1.0.0 href

[英]Testing React-Router v1.0.0 href

目前使用Jest和React-Router来尝试测试元素的href具有预期值。

按照这里的说明

jest.dontMock('../BasicPage')

describe('BasicPage', function() {
  let BasicPage = require('../BasicPage')
  let TestUtils = require('react-addons-test-utils')
  let ReactDOM = require('react-dom')
  let React = require('react')

  it('renders the Login button if not logged in', function() {
    let page = TestUtils.renderIntoDocument(<BasicPage />)
    let button = TestUtils.findRenderedDOMComponentWithTag(page, 'button')
    expect(ReactDOM.findDOMNode(button).textContent).toBe('Login')
  })

  it('renders the Account button if logged in', function() {
    let page = TestUtils.renderIntoDocument(<BasicPage authenticated={true} />)
    let button = TestUtils.findRenderedDOMComponentWithTag(page, 'button')
expect(ReactDOM.findDOMNode(button).getAttribute('href')).toBe('/admin')
  })
})

该元素有一个链接:

<Button bsStyle="primary"><Link to="/admin">Login</Link></Button>

当按钮中的console.log'没有href时,测试返回null!

有没有人找到解决这个问题的方法?

如果您希望例如<Link>实际工作,则需要在<Router>实例下呈现内容。 <Router>提供<Link>用于生成href和处理点击的上下文的历史实例。

为了方便测试,我们将允许您在没有历史记录实例的情况下呈现<Link> ,但正如您所看到的,它们将无法正常运行。

expect(ReactDOM.findDOMNode(button).getAttribute('href')).toBe('/admin')

这不是找错了吗? 你不想找到锚吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM