0

我想检查警报中的文本,也许从中获取一个按钮

it('should show message in press button', () => {
const { getByText, getAllByText } = render(
  <OrganizationDocumentsController />
);

const buttonAddressCompany = getByText('ProofAddress');
expect(buttonAddressCompany).not.toBeNull();

fireEvent.press(buttonAddressCompany);
expect(Alert.alert).toHaveBeenCalled();

<<< error appears on this line below >>>
const buttonAlert = getAllByText('Cancel');

});

我有一个控制器(功能)和屏幕(视图)结构,如果您可以帮助提供文本中的示例测试代码以发出警报或按钮,我很感激。

我想测试打开警报时屏幕上显示的消息,例如:“取消”

Alert.alert(
  'Would you like a photo or a document?',
  '',
  [
    {
      text: 'Send Document',
      onPress: () => openDocumentFile(type),
    },
    {
      text: 'Take Photo',
      onPress: () => {
        setModalVisiblePhoto(true);
        return setTypeDocument(type);
      },
    },
    {
      text: 'Cancel',
      style: 'cancel',
    },
  ],
  {
    cancelable: true,
  }
);

我找到了解决我的问题的方法, 您需要导入警报,您可以测试呼叫、警报中的文本以及 onpress 功能

从'react-native'导入{警报};

jest.spyOn(警报,“警报”);

期望(Alert.alert).toHaveBeenCalled(); //检查调用

常量 alertContent = Alert.alert.mock.calls[0]; //您可以检查文本并按 onpress 制作控制台日志(alertContent)

4

0 回答 0