testing

Stratégies de test avec Claude Code : guide pratique

SSkills Guide Bot
22/07/20263 min de lecture

Comment utiliser Claude Code pour écrire des tests efficaces : TDD, E2E, mocking et bonnes pratiques.

guidetestingtddplaywrightjest

Les tests sont souvent la partie la moins aimée du développement. Claude Code change la donne en rendant l'écriture de tests aussi rapide que l'écriture du code lui-même. Voici comment en tirer le meilleur parti.

TDD avec Claude Code

Le Test-Driven Development est le workflow idéal avec Claude Code :

Le cycle Red-Green-Refactor

  1. Red : Demandez à Claude d'écrire le test en premier
  2. Green : Demandez l'implémentation minimale qui fait passer le test
  3. Refactor : Demandez d'améliorer le code en gardant les tests verts

Exemple concret

Vous : "Crée un test pour une fonction formatPrice qui prend un nombre
et retourne un string formaté en euros (ex: 42.5 → '42,50 €')"

Claude écrit le test :
describe('formatPrice', () => {
  it('formats integer price', () => {
    expect(formatPrice(42)).toBe('42,00 €');
  });

  it('formats decimal price', () => {
    expect(formatPrice(42.5)).toBe('42,50 €');
  });

  it('handles zero', () => {
    expect(formatPrice(0)).toBe('0,00 €');
  });
});

Puis l'implémentation suit naturellement.

Tests E2E avec Playwright

Le Playwright Skill (score 85/100) est le meilleur allié pour les tests E2E :

Patterns recommandés

1. Page Object Model

Demandez à Claude de structurer vos tests avec le POM :

class LoginPage {
  constructor(private page: Page) {}

  async login(email: string, password: string) {
    await this.page.getByLabel('Email').fill(email);
    await this.page.getByLabel('Password').fill(password);
    await this.page.getByRole('button', { name: 'Sign in' }).click();
  }
}

2. Fixtures réutilisables

const test = base.extend<{ loginPage: LoginPage }>({
  loginPage: async ({ page }, use) => {
    await use(new LoginPage(page));
  },
});

3. Network mocking

Pour les tests rapides et fiables :

await page.route('**/api/users', route =>
  route.fulfill({ json: [{ id: 1, name: 'Test' }] })
);

Tests unitaires avec Jest

Le Jest Testing Expert skill guide Claude pour :

  • Tests avec mocking avancé (jest.spyOn, jest.mock)
  • React Testing Library (render, screen, userEvent)
  • Tests asynchrones (waitFor, findBy)
  • Coverage ciblée (pas 100%, mais les chemins critiques)

Le piège du sur-testing

Claude a tendance à écrire trop de tests. Guidez-le :

"Écris uniquement les tests pour les cas limites et les chemins
d'erreur. Le happy path est couvert par les tests E2E."

Bonnes pratiques

1. Un test = un comportement

Chaque test vérifie un seul comportement. Pas de tests qui testent 5 choses à la fois.

2. Noms descriptifs

✅ "should return 404 when user does not exist"
❌ "test user endpoint"

3. Pas de logique dans les tests

Les tests doivent être linéaires : setup → action → assertion. Pas de if/else, pas de boucles.

4. Tests indépendants

Chaque test doit pouvoir tourner seul, dans n'importe quel ordre.

Skills recommandés

BesoinSkill
Tests E2EPlaywright Skill
Tests unitairesJest Testing Expert
Tests de designPict Test Designer
Tests d'accessibilitéDesign Auditor
Tests de sécuritéVibeSec Skill

Conclusion

Avec les bons skills, Claude Code transforme les tests d'une corvée en un workflow fluide. La clé : utilisez le TDD, soyez spécifique dans vos demandes, et laissez Claude gérer le boilerplate.

Explorez notre catalogue de skills