我想检查警报中的文本,也许从中获取一个按钮
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)