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.