Scripts & tests
Tests & assertions
Matchers expect disponibles, validation de contrats, gestion des erreurs et bonnes pratiques.
# Matchers expect
test("matchers", () => {
expect(res.status).toBe(200);
expect(res.json).toEqual({ ok: true });
expect(res.body).toContain("ok");
expect(res.body).toMatch("success|accepted");
expect(res.durationMs).toBeGreaterThan(10);
expect(res.durationMs).toBeLessThan(500);
expect(res.json.items).toHaveLength(3);
expect(res.json.user).toBeDefined();
});# Tests de contrat
test("contrat de réponse", () => {
expect(res.status).toBe(200);
expect(res.headers["content-type"]).toContain("application/json");
expect(res.json.id).toBeDefined();
});
test("pas d’erreur GraphQL", () => {
expect(res.json.errors ?? []).toHaveLength(0);
});# Gestion des erreurs
- Une assertion échouée marque uniquement le
test()courant comme échoué. - Une exception hors
test()devient une erreur de script attachée à la requête. - Les boucles infinies sont coupées par un budget CPU et un timeout global.