Mocking native modules — simulate native functionality.
Manual mock:
1// __mocks__/react-native.js2jest.mock("react-native", () => ({3 Alert: {4 alert: jest.fn(),5 },6 Linking: {7 openURL: jest.fn(),8 },9}));
Inline mock:
1jest.mock("react-native", () => ({2 Alert: { alert: jest.fn() },3}));45test("shows alert", () => {6 const { Alert } = require("react-native");7 Alert.alert("Test");8 expect(Alert.alert).toHaveBeenCalledWith("Test");9});
Mock AsyncStorage:
1jest.mock('@react-native-async-storage/async-storage', () => ({2 __esModule: true,3 default: {4 getItem: jest.fn(),5 setItem: jest.fn(),6 removeItem: jest.fn(),7 },8}));
Mock native navigation:
1jest.mock('@react-navigation/native', () => ({2 useNavigation: () => ({ navigate: jest.fn() }),3 useRoute: () => ({ params: {} }),4}));