Я использую axios-mock-adapter
, и я хочу знать, могу ли я настроить его так, чтобы я мог также делать утверждения вроде expect(MockAdapter.get).toHaveBeenCalledWith(url);
Я пробовал следующее:
// test
import MockAdapter from "axios-mock-adapter";
import { fetchProducts } from "../src/redux/actions/productActions";
describe("fetchProducts", () => {
const mock = new MockAdapter();
it("fetches the products", async () => {
const x = await fetchProducts();
expect(mock.get).toHaveBeenCalledWith("https://www.whatever.com");
});
});
// function
import axios from "axios";
export async function* fetchProducts() {
let data = await axios.get("https://www.whatever.com");
return data;
}
И там написано
expect(jest.fn())[.not].toHaveBeenCalledWith()
Matcher error: received value must be a mock or spy function
Received has value: undefined
Если я добавлю ./__mocks__/axios.js
файл, я сразу получу
TypeError: axios.create is not a function
> 1 | import MockAdapter from "axios-mock-adapter";
| ^
2 | import { fetchProducts } from "../src/redux/actions/productActions";
Есть ли способ сделать это, или это или издеваться над моей собственной реализацией функций axios
, или использовать axios-mock-adapter
без доступа к ней в качестве функции шутки?