0

我正在我的 reactjs 代码上使用 jest 和酶进行单元测试,其中我有主要功能组件“TrashDisplayFiles”,其中有一个方法“getDeletedData”,我调用了通过从 api 获取响应来设置 TrashFileState 的 api。

function TrashDisplayFiles(props){
      const[TrashFileState,setTrashFileState]=useState([]);
 //API CALL
  useEffect(()=>{
    getDeletedData();
  },[]);
const getDeletedData=()=>{ 
 trackPromise(
  Axios.get(getUrl(),
    {headers:{
    Authorization: `Basic ${btoa(getToken())}`
     }}).then((response) => {
      let FileData=response.data;
      setPaginationDefault(response.data.list.pagination)
      setTrashFileState(response.data.list.entries.map(d=>{
        return {
          select:false,
          id:d.entry.id,
          name:d.entry.name
        }})) 
      }).catch(err=>alert(err))
  )
};

我如何对这个 setTrashFileState(response.data.list.entries.map(d=>{return{ 和错误警报) 进行单元测试,以便它在我的覆盖率报告中得到覆盖

此外,在我的 jsx 中没有通过 onsubmit 或 onclick 模拟此功能,当垃圾页面加载时,此 api 会自动触发。

4

1 回答 1

0

你不能像这样测试 React 函数的状态,你只能测试组件的行为(我认为这总是一种更好的方法)。

当然,您TrashFileState稍后会在代码中的某个地方使用它,可能在render. 因此,测试该用法的结果!

于 2021-01-20T19:07:53.597 回答