Как издеваться над родным модулем React "в Jest? - PullRequest
0 голосов
/ 27 апреля 2019

Я хочу что-то вроде следующего (это на самом деле работает ...):

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 Ответ

0 голосов
/ 27 апреля 2019

Вы можете попробовать смоделировать NativeModules напрямую

jest.mock('NativeModules', () => ({
    NativePushNotifications: {
        setTokenHandler: jest.fn(),
    },
    ...
}));
...