我測試了以下React組件:如何測試`material-ui` AppBar的圖標按鈕上的`click`事件?
import React from 'react'
import AppBar from 'material-ui/lib/app-bar'
class NavBar extends React.Component {
render() {
return (
<div>
<AppBar
title='My NavBar Title'
/>
</div>
)
}
}
export default NavBar
它由material-ui AppBar組件。使用Tape和Enzyme,我想在模擬click
的AppBar
的IconButton
:
import NavBar from './NavBar'
import React from 'react'
import test from 'tape'
import { /* I don't know if it's `shallow` or `mount` */ } from 'enzyme'
test('NavBar component test', (assert) => {
test('simulating a click on the icon button', (assert) =>
// How do I do this?
// The following results in error:
// const wrapper = shallow(<NavBar />)
// wrapper.find('AppBar').find('IconButton').simulate('click')
assert.end()
})
assert.end()
})
我怎樣才能做到這正常嗎?
Obs:我在尋找IconButton
,因爲根據React Dev Tools標籤,這是所呈現的圖標按鈕組件的名稱。
如果我想將道具值傳遞給父組件以外的孩子,該怎麼辦? @Webb Lu –