Как я высмеиваю axios.defaults при использовании Enyme / Jest - PullRequest
0 голосов
/ 12 июня 2019

У меня есть компонент со следующим ...

export class Mine extends Component{
    constructor(props){
        super(props);
        axios.defaults.withCredentials = true;
    }
    ...
}

Я пытаюсь написать тест, но получаю следующее ...

TypeError: Невозможно установить свойство 'withCredentials' из неопределенного

Я попробовал следующее в тестовом классе ...

import axios from "axios";
jest.mock("axios"); 
...
// Tried this...
axios.defaults = {}
// And this...
axios.Prototype.defaults = {}

Но, похоже, ничего не работает. Это сеттер, который мне нужно издеваться или что-то?

1 Ответ

2 голосов
/ 12 июня 2019

Можете ли вы попробовать приведенный ниже код.Здесь мы пытаемся смоделировать axios и возвращаем фиктивный объект со значениями по умолчанию в качестве его свойства:

jest.mock('axios', () => ({
  defaults: { withCredentials: true }
}));
...