我正在尝试使用 Jest 和React Native Testing Library为React Native Modal DateTime Picker编写单元测试。我已经通过了 3 个(我相信是)标准 RN 道具:
accessible: true,
accessibilityLabel: testLabel,
testID: testLabel,
这是我的测试:
fireEvent(dobField, 'handleCalendarPress');
const calendarPicker = wrapper.getByTestId('BDD--ThirdPartyComp--DateTimePickerModal');
fireEvent(calendarPicker, 'onConfirm', ageOver18);
这dobField
是我创建的自定义输入字段,当它被“按下”时,我可以找到testID
我添加的模式。但是,将事件触发到的第 3 个条件onConfirm
,我收到此错误:
Error: Uncaught [TypeError: this._picker.current.setNativeProps is not a function]
我已经阅读了关于“直接操作”的 RN 文档(链接),其中讨论了设置/使用native props
. 但是,这似乎应该在 modal/lib 本身上实现,而不是从我这边?
所以我的问题是:
- 有没有人有为此第三方组件编写测试的经验?
- 有没有人可以分享更多关于 TypeError 含义的信息?
- 有没有更好的方法来为此模式编写单元测试?
- 我是否缺少能够通过 Jest 与组件正确交互的道具/部件?