Javascript 测试发出http请求的多个状态

Javascript 测试发出http请求的多个状态,javascript,reactjs,jestjs,react-testing-library,Javascript,Reactjs,Jestjs,React Testing Library,我想在ReactJs中测试我的组件,它应该从api中获取一些数据 import React,{useffect,useState}来自“React”; 常量Fetch=()=>{ const[state,setState]=useState([]); useffect(()=>{ 取('https://jsonplaceholder.typicode.com/posts') 。然后((响应)=>{ 返回response.json(); }) 。然后((数据)=>{ 控制台日志(数据); 设置状

我想在ReactJs中测试我的组件,它应该从api中获取一些数据

import React,{useffect,useState}来自“React”;
常量Fetch=()=>{
const[state,setState]=useState([]);
useffect(()=>{
取('https://jsonplaceholder.typicode.com/posts')
。然后((响应)=>{
返回response.json();
})
。然后((数据)=>{
控制台日志(数据);
设置状态(数据)
});
}, []);
常量渲染=()=>{
如果(状态长度){
返回状态.map(i=>{i.title}

) }否则{ 返回加载

} }; 返回( 列表 { render() } ); };
导出默认获取我通常使用jest&enyzme,而不是测试库,因此我在这一点上可能是错误的,但似乎它没有显示“加载”的机会,因为当您在测试中装载时,它调用useEffect并设置状态。您可以尝试在模拟承诺中添加一个超时,但以同样的方式不阻止测试读取“Loading…”吗?不确定Ezyme与testing Library有多相似您也可以尝试将组件呈现为快照,然后查看快照中是否有“加载…”文本的实例file@AntonioErdeljac,你能告诉我怎么做吗?你好像问了两次这个问题。我没有同时修复这两个问题,请删除这一个。我通常使用jest&enyzme,而不是测试库,因此我在这一点上可能是错误的,但似乎它不可能显示“加载”,因为在您装入测试时,它会调用useEffect并设置状态。您可以尝试在模拟承诺中添加一个超时,但以同样的方式不阻止测试读取“Loading…”吗?不确定Ezyme与testing Library有多相似您也可以尝试将组件呈现为快照,然后查看快照中是否有“加载…”文本的实例file@AntonioErdeljac,你能告诉我怎么做吗?你好像问了两次这个问题。我不会同时修复这两个,请删除这一个。