0
我使用antd Checkbox
成分在我CheckboxWidget
組件的組件,該組件has a contextType
defined:測試其子有一個上下文
static contextTypes: {
checkboxGroup: any
}
我想它使用shallow
與酶的渲染測試,所以我使用在beforeEach
塊內從recompose
withContext
幫手:
describe('Simple Checkbox Widget',() => {
beforeEach(() => {
withContext({
getChildContext: function() {
return {checkboxGroup: null}
},
childContextTypes: {
checkboxGroup: shape({
disabled: bool,
toggleOption: func,
value: array
})
}
})(CheckboxWidget)
})
})
然而,當我寫我的測試是這樣的:
it('renders a checkbox from Antd',() => {
const wrapper = shallow(<Subject />)
const actual = wrapper.find(AntdCheckbox).length
const expected = 1
expect(actual).toEqual(expected)
})
我注意到測試失敗,因爲它找不到Checkbox
小部件。我想這是因爲渲染的成分會像:
<Subject />
我發現wrapper.instance()
是Subject
和wrapper.instance().children
是不確定的。我試圖使用wrapper.dive
,但它似乎也沒有在wrapper.instance()
上工作。
我使用'安裝( ,掛載選項)''以淺( ,shallowOptions)'與shallowOptions爲您提供的選項轉換我的測試。謝謝 –
vamsiampolu