3
HOC如何測試(與jest
+ enzyme
)使用recompose
創建一個特殊下面的代碼:測試重新合成與酶
import {compose, withState, withHandlers} from 'recompose'
const addCounting = compose(
withState('counter', 'setCounter', 0),
withHandlers({
increment: ({ setCounter }) =>() => setCounter(n => n + 1),
decrement: ({ setCounter }) =>() => setCounter(n => n - 1),
reset: ({ setCounter }) =>() => setCounter(0)
})
)
在進行淺渲染,我有機會獲得counter
和setCounter
性質,像這樣:
import {shallow} from 'enzyme'
const WithCounting = addCounting(EmptyComponent)
const wrapper = shallow(<WithCounting />)
wrapper.props().setCounter(1)
expect(wrapper.props().counter).toEqual(1)
最大的問題是,我怎麼能訪問處理程序(increment
,decrement
和reset
)和呼叫他們?它們不會出現在wrapper.props()