gpt4 book ai didi

android - 如何测试具有 native 依赖的 npm 库

转载 作者:行者123 更新时间:2023-12-01 16:12:20 26 4
gpt4 key购买 nike

我是测试世界的新手。

我有 react-native-formly npm library完全用 javascript 编写,但有一两个组件依赖于本地库,如 react-native-image-picker。

最近,我更新了所有依赖项,认为它不会导致任何重大更改,但事实证明确实如此。

我的主要目标是为需要 native 实现的组件编写测试用例(像应用程序一样简单的测试用例在初始化我的组件时不会崩溃)。

最佳答案

涵盖测试原生组件:

由于 React Native 组件是用 js 编写的,可以使用 jest 进行测试(作为您选择的测试套件),我们仍然可以测试“原生”组件,因为这些组件是用 js 组件包装的。

笔记:
所有原生组件都被包装 native-bridge docs这样 JS -> 与原生组件通信。

因此,您仍然可以按照 TDD 级别的预期测试 native 组件。

但是,由于 jest 或其他套件将无法正确渲染,例如 js 运行时中的相机模块,您有时必须 mock那些功能。

这可以通过 jest.fn() 来完成

测试 react-native-camera.js 的良好引用可以在 react-native-community docs 中找到

例如

  test('test onPress functionality', async () => {
const onTakePhotoEvent = jest.fn(data => data);
const wrapper = mount(<PhotoCamera onTakePhoto={onTakePhotoEvent} />);
await wrapper
.find(TouchableOpacity)
.at(1)
.props()
.onPress();
expect(onTakePhotoEvent.mock.calls.length).toBe(1);
});

关于android - 如何测试具有 native 依赖的 npm 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61720583/

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