繁体   English   中英

如何在Jest中模拟React Native本机模块?

How to mock a React Native native module"in Jest?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我想要类似下面的内容(实际上有效......):

import { NativeModules } from 'react-native';
import PushNotifications from '../../app/platform/PushNotificationSupport';


const mockRNA = jest.requireMock('react-native');
jest.mock('react-native', () => {
    return {
        default: mockRNA.default,
        NativeModules: {
            ...mockRNA.NativeModules,
            NativePushNotifications: {
                setTokenHandler: jest.fn(),
            },
        },
    };
});

当然,上面的代码实际上并不起作用。 我本质上希望建立在现有的react-native模拟之上。

1 个回复

您可以尝试直接模拟NativeModules

jest.mock('NativeModules', () => ({
    NativePushNotifications: {
        setTokenHandler: jest.fn(),
    },
    ...
}));
1 React中的Jest模块模拟

进入功能组件+挂钩和React Unit测试,我正在尝试执行以下操作: 在一个组件中,我使用了实用程序API文件中的函数。 在挂载时,我对我的api进行了异步函数调用。 在该实用程序API文件中,我想以各种方式模拟该函数,因此当我在测试中渲染组件时,它将在挂钩中看到不同的响应。 它将 ...

3 React和Jest模拟模块

我正在创建一个应用程序,在其中我使用redux和node-fetch进行远程数据获取。 我想测试一个事实,那就是我很好地调用了具有良好参数的fetch函数。 这样,我正在使用jest.mock和jasmine.createSpy方法: 这是我要测试的功能: 如您所见, ...

4 如何在 Jest 中模拟模块

我试图在 Jest 中嘲笑我的一个动作创建者。 实际上,我正在测试我的 React 组件。 我需要检查是否在某个事件上调用了 action-creator 函数。 我试图通过jest.mock模拟该函数,但抛出错误说: 这是我迄今为止尝试过的,但它不起作用: describe('>> ...

6 用Jest部分模拟React模块

我试图在导入的React模块中仅模拟一个功能,保持模块的其余部分不变,并在所有测试的顶层执行此操作。 我正在使用带有单个测试的新鲜create-react-app项目来观察问题。 重现步骤: create-react-app test 使用提供的src/App.te ...

8 如何在 Jest 中取消模拟所有模块?

尽管我在每次测试之前都调用jest.resetModules ,但在一个测试中jest.resetModules模块会影响后续测试。 所以我必须在第二个测试中显式调用jest.unmock('module') 。 jest.resetModules不应该已经这样做了吗? 我怎样才能在不担心以前被嘲 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM