老师您好,
在click event的测试中
我这样写selector。 所得到的结果就是false,
let secondCateogry = wrapper.find('.category-item').at(1)
secondCateogry.simulate('click', { preventDefault(){}})
expect(secondCateogry.hasClass('active')).toEqual(true)
而如果改成
expect(wrapper.find('.category-item').at(1).hasClass('active')).toEqual(true)
返回的结果就是直接是正确的了。这个原理是什么吖。。
这一部分所有代码
it('click the item should add active class and trigger the call back function',()=>{
let wrapper = mount(<CategorySelect {...props_with_default_category} />)
// click the second item
let secondCateogry = wrapper.find('.category-item').at(1)
secondCateogry.simulate('click', { preventDefault(){}})
// highlight should be on the second category instead of the first category
expect(wrapper.find('.category-item').first().hasClass('active')).toEqual(false)
//expect(secondCateogry.hasClass('active')).toEqual(true) -- not correct
expect(wrapper.find('.category-item').at(1).hasClass('active')).toEqual(true)
expect(props_with_default_category.onSelectCategory).toHaveBeenCalledWith(categories[1])
})