gpt4 book ai didi

reactjs - 使用 Jest 和 React Native 测试库测试 DateTimePickerModal 的问题

转载 作者:行者123 更新时间:2023-12-04 04:17:39 26 4
gpt4 key购买 nike

我正在尝试为 React Native Modal DateTime Picker 编写单元测试使用 Jest 和 React Native Testing Library .我已经通过了 3 个(我认为是)标准 RN Prop :

accessible: true,
accessibilityLabel: testLabel,
testID: testLabel,

这是我的测试:
fireEvent(dobField, 'handleCalendarPress');
const calendarPicker = wrapper.getByTestId('BDD--ThirdPartyComp--DateTimePickerModal');
fireEvent(calendarPicker, 'onConfirm', ageOver18);
dobField是我创建的自定义输入字段,当它被“按下”时,我可以通过 testID 找到模态我添加的。但是,将事件触发到 onConfirm 的第三个条件,我收到此错误:
Error: Uncaught [TypeError: this._picker.current.setNativeProps is not a function]

我已经阅读了关于“直接操作”的 RN 文档( link ),其中讨论了设置/使用 native props .但是,这似乎应该在模态/库本身上实现,而不是从我这边实现?

所以我的问题是:
  • 有没有人有为这个第三方组件编写测试的经验?
  • 有没有人可以分享更多关于 TypeError 含义的信息?
  • 有没有更好的方法来为这种模式编写单元测试?
  • 是否有我缺少的 Prop /部件无法通过 Jest 与组件正确交互?
  • 最佳答案

    我正在使用 react-native-datepicker并得到相同的 this._picker.setNativeProps is not a function错误。我用 mock 修复了它 DatePickerIOS , 自 react-native-datepicker用途 DatePickerIOS对于 IOS 日期选择器。

    jest.mock('react-native/Libraries/Components/DatePicker/DatePickerIOS.ios.js', () => {
    const React = require('React');
    return class MockPicker extends React.Component {
    render() {
    return React.createElement('DatePicker', {date: '21.07.2020'});
    }
    };
    });

    关于reactjs - 使用 Jest 和 React Native 测试库测试 DateTimePickerModal 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60271608/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com