React Native 分享组件 SharePicker Jest 单元测试
import React from 'react';
import { Image, Linking, Text, View } from 'react-native';
import { render, fireEvent } from '@testing-library/react-native';
import SharePicker from './SharePicker';
import LTouchableOpacity from '../TouchAble/LTouchableOpacity';
describe('SharePicker', () => {
it('应该成功渲染 SharePicker 组件', () => {
const { getByText, getByTestId } = render(<SharePicker visible={true} />);
const shareToText = getByText('分享到');
const wechatText = getByText('微信好友');
const pyqText = getByText('朋友圈');
const closeButton = getByTestId('close-button');
expect(shareToText).toBeTruthy();
expect(wechatText).toBeTruthy();
expect(pyqText).toBeTruthy();
expect(closeButton).toBeTruthy();
});
it('当点击微信好友按钮时,应该调用 onPress 函数', () => {
const onPressMock = jest.fn();
const { getByText } = render(
<SharePicker visible={true} onNoInstallWX={onPressMock} />
);
const wechatButton = getByText('微信好友');
fireEvent.press(wechatButton);
expect(onPressMock).toHaveBeenCalled();
});
it('当点击朋友圈按钮时,应该调用 onPress 函数', () => {
const onPressMock = jest.fn();
const { getByText } = render(
<SharePicker visible={true} onMomentsPress={onPressMock} />
);
const pyqButton = getByText('朋友圈');
fireEvent.press(pyqButton);
expect(onPressMock).toHaveBeenCalled();
});
it('当点击关闭按钮时,应该调用 onPress 函数', () => {
const onPressMock = jest.fn();
const { getByTestId } = render(
<SharePicker visible={true} onClose={onPressMock} />
);
const closeButton = getByTestId('close-button');
fireEvent.press(closeButton);
expect(onPressMock).toHaveBeenCalled();
});
});
原文地址: https://www.cveoy.top/t/topic/f3Lj 著作权归作者所有。请勿转载和采集!