无法模拟使用样式化组件样式化的组件的onclick函数

时间:2018-12-19 05:45:40

标签: javascript reactjs react-native ecmascript-6 jestjs

我有一个像波纹管这样的组件,我想对其onClick函数进行测试。但是测试失败了,因为它找不到组件并模拟click函数。我做错了什么,我该如何解决?

组件

packed_float3

ui组件的完整代码可以在附件中找到。

测试用例

<Block
  justify="flex-end"
  alignItems="flex-end"
  width={2}
  className="cancel"
  onPress={() => {
    onCancelDelete()
  }}
>
  <FIcon
    size={25}
    color={Colors.fire}
    name="x-circle"
  />
</Block>

供参考

ui组件最外面的包装器是一个名为“ ActionWrapper”的组件,该组件使用样式化组件进行样式设置。如果我运行以下测试,它将通过该组件

test('cancel delete button onclick event', () => {
  const wrapper = shallow(<Stock {...props} />)
  const cancelButton = wrapper.find('Block.cancel')
  expect(cancelButton.length).toBe(1)
  cancelButton.simulate('click')
  expect(wrapper.state().confirmDelete).toBeFalsy()
})

UI组件

test('cancel delete button onclick event', () => {
const wrapper = shallow(<Stock {...props} />)
      const cancelButton = wrapper.find('Block.cancel')
      expect(cancelButton.length).toBe(1)
})

0 个答案:

没有答案