![](/img/trans.png)
[英]How to get this.props.params populated in react-router v1.0.0?
[英]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.