Olá,
O jest tem funcionalidades para mock de módulos que podem ser úteis para você. No caso de exemplo da documentação:
import axios from 'axios';
import Users from './users';
jest.mock('axios');
test('should fetch users', () => {
const users = [{name: 'Bob'}];
const resp = {data: users};
axios.get.mockResolvedValue(resp);
// or you could use the following depending on your use case:
// axios.get.mockImplementation(() => Promise.resolve(resp))
return Users.all().then(data => expect(data).toEqual(users));
});
É possível mockar métodos de uma forma semelhante. Por exemplo:
import { meuModulo } from 'caminho.js';
jest.mock('caminho.js');
A implementação dos valores mockados se dá da mesma forma, criando os valores de teste dentro de test()
e passando como parâmetro, como por exemplo modificando um pouco o que está na documentação:
test('descrição do teste', () => {
const paramMock = // dado a ser mockado;
meuModulo.mockResolvedValue(paramMock);
// etc
});
Espero ter ajudado!
Bons estudos ;)