假设我有一个组件,当异步调用成功返回时,它会加载其内容:
const MyScreen = () => {
let userData: userDataResponse;
const [email, setEmail] = useState("");
const [firstTime, setFirstTime] = useState(true);
async function localGetUserData() {
userData = await getUserData();
setEmail(userData.email);
setFirstTime(false);
}
useEffect(() => {
localGetUserData();
}, []);
if (firstTime) {
return <Text>Cargando...</Text>;
}
return (
<SafeAreaView style={styles.formStyling}>
当数据可用时,它将设置一个状态变量,以便呈现真实的内容
如果我想测试它,我想我应该模拟getUserData
,这样模拟的函数返回模拟的电子邮件,比如{email: a@b.c}
实现这一目标的好办法是什么?
1条答案
按热度按时间ldfqzlk81#
假设组件设置如下(因为我无法看到整个组件):
myScreenUtils.js
MyScreen.jsx
您可以编写以下测试: