我正在学习测试,因此我面临着为其创建测试的基本困难... 不确定是因为库是异步的还是因为在组件初始化时有一个查询调用。也许有人可以帮助我?
这是我的测试文件
import 'react-native';
import React from 'react';
import {Welcome} from '../src/scenes'
import renderer, { act, create } from 'react-test-renderer';
// Is this the correct way ?
jest.mock('react-native-safe-area', () => ({
safeAreaInsets: {
top:0,
bottom:0
}
}));
describe('Welcome Page', () =>{
it('must invoke signUp', () =>{
const component = create(<Welcome navigation={() =>{}} />);
expect(component.toJSON()).toMatchSnapshot();
act(() =>{
component.root.findByProps({testID: 'signUp'}).props.onClick();
})
});
})
欢迎会是这样的...
import React, { useState, useRef, useEffect } from 'react';
import { View, Text, Image, Animated, TouchableOpacity } from 'react-native';
import styles from './styles';
import SafeArea from 'react-native-safe-area';
function Welcome() {
const [safeTop, setSafeTop] = useState(0)
SafeArea.getSafeAreaInsetsForRootView()
.then((result) => {
console.log(result)
setSafeTop(result.safeAreaInsets.top)
})
return (<View />)
} 导出默认欢迎