在我的项目使用Jest之前,我如何知道我是否从一个API获得了200个代码的响应?

oyxsuwqo  于 2022-12-08  发布在  Jest
关注(0)|答案(1)|浏览(187)

基本上,我是从Jest开始的,我想知道这个工具是否有API返回状态代码为200的响应。我在互联网上搜索了许多方法,但没有一种方法对我有效,我一直收到错误。
有人能帮我一下吗?
例如,使用Axios或Fetch进行Rick & Morty API调用,查看是否返回200状态代码:
https://rickandmortyapi.com/api/character
我试过这样的方法:
文件mock.js

const getMovies = async () => {
    try {
        let res = await axios.get('https://rickandmortyapi.com/api/character')
        return res
    }

    catch(error) {
      console.log('Error! D:')
      return error.response
    }
}

export default getMovies;

文件mock.test.js

import axios from 'axios';
import getMovies from './mock.js';

jest.mock('./mock.js');

test('should return a 200 status code', async () => {
    const res = await getMovies()
    expect(res.status).toBe(200)
})

它显示了以下内容:

我想知道我的应用程序什么时候从API收到正确的答案(200状态代码)才能开始正常工作。

dy1byipe

dy1byipe1#

试试看

axios.get('/foo')
  .catch(function (error) {
    if (error.response) {
      console.log(error.response.data);
      console.log(error.response.status);
      console.log(error.response.headers);
    }
  });

相关问题