Validando testes assíncronos com expected.assertions() no Jest DOM
Em situações em que os testes envolvem operações assíncronas, é crucial garantir que todas as expectativas sejam avaliadas antes de concluir o teste. O Jest DOM oferece uma abordagem eficaz para isso usando expected.assertions().
A função expect.assertions() serve para especificar o número de afirmações (expect) que esperamos que sejam executadas durante o teste assíncrono. Ela é útil para evitar falsos positivos ou negativos em testes assíncronos, garantindo que o número esperado de expectativas seja cumprido.
test('Deve carregar dados de forma assíncrona', async () => {
expect.assertions(2);
const fetchData = async () => {
const data = await fetchDataAsync();
expect(data).toBeDefined();
expect(data.length).toBeGreaterThan(0);
};
await fetchData();
});Neste exemplo, expect.assertions(2) é usado para indicar que há duas expectativas no teste. Isso é essencial para garantir que ambas as expectativas dentro da função assíncrona sejam avaliadas antes de o teste ser considerado concluído.