react-native - 使用 react-navigation 导航用户的错误测试功能
问题描述
我正在测试我的页面,我正在调用一个将用户导航到另一个页面的函数,但我收到以下错误:
这是我的测试代码:
it('must be navigated to the forgot password screen', async () => {
const mockedNavigate = jest.fn();
jest.mock('@react-navigation/native', () => {
return {
...jest.requireActual('@react-navigation/native'),
useNavigation: () => ({
navigate: mockedNavigate,
}),
};
});
const { getByTestId } = render(<SignIn />, {
wrapper: Providers,
});
fireEvent.press(getByTestId('forgot-password-button'));
expect(mockedNavigate).toHaveBeenCalledTimes(1);
});
这是我的页面代码:
import { RectButton } from 'react-native-gesture-handler';
export function SignIn() {
const [email, setEmail] = useState('');
const [password, setPassword] = useState('');
const navigation = useNavigation();
function forgotPasswordNavigate() {
navigation.navigate('ForgotPassword')
}
return (
<Container>
<Form>
<RectButton
onPress={forgotPasswordNavigate}
testID="forgot-password-button"
>
<ForgotPasswordText>Esqueci minha senha</ForgotPasswordText>
</RectButton>
</Form>
</Container>
);
}
我需要在此测试中调用我的函数,以便我的测试通过
有人可以帮我吗?
解决方案
推荐阅读
- jestjs - 开玩笑 - 如何并行运行 .each
- google-oauth - Google OAuth 受限范围验证因错误原因被拒绝
- react-native - 如何从我的应用程序打开 facebook、instagram ..(社交网络)个人资料
- c++ - LINK 1104:无法打开文件“...test.exe”随机发生
- java - 如何通过单一声明获取当前用户信息?
- javascript - 添加对承诺的支持的最佳方式
- h2o - h2o set_params() 只接受 1 个参数(给定 2 个),即使只给定 1 个?
- ios - 当我将 uibuttons 添加到堆栈视图时,它们会出现在彼此之上
- google-docs - 如何获取 GDocs API 的客户端 ID?
- r - 谷歌幻灯片,R,d3:插入交互式可视化