Почему я получаю: TypeError: _ax ios .default.get.mockResolvedValue не является функцией - PullRequest
0 голосов
/ 26 мая 2020

Вот ошибка:

    TypeError: _axios.default.get.mockResolvedValue is not a function

      20 |         ]
      21 |     }
    > 22 |     Axios.get.mockResolvedValue(response);
         |               ^
      23 | 
      24 |     const component = renderer.create(
      25 |         <BookList />

Вот мой код:

import React from "react";
import Axios from "axios";
import {shallow, mount, render} from "enzyme";

import BookList from "../BookList";

import renderer from "react-test-renderer";

jest.mock('Axios');

test("<BookList /> snapshot test", () => {
    const response = {
        data: [
            {
                title: "foo"
            },
            {
                title: "bar"
            }
        ]
    }
    Axios.get.mockResolvedValue(response);

    const component = renderer.create(
        <BookList />
    )
    let tree = component.toJSON();
    expect(tree).toMatchSnapshot();
})

1 Ответ

1 голос
/ 26 мая 2020

Вы получаете эту ошибку, потому что mockResolvedValue не существует в Axios.post. Вам нужно будет ввести case it по мере необходимости

(Axios.get as jest.Mock<{}>).mockResolvedValue(response);

Кроме того, убедитесь, что вы инициализировали значение Ax ios .get по мере необходимости. Например,

Axios.get = jest.fn()

Также

jest.mock('Axios');

должно быть

jest.mock('axios');
...