Tests et qualité du code avec Copilot

Développement logiciel avec GitHub Copilot

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

Ce que vous avez appris

 

  • Complétions de code — suggestions pendant la saisie
  • Copilot Chat — poser des questions, obtenir des explications et refactorer
  • Mode agent — tâches autonomes en plusieurs étapes
  • Outils personnalisés — étendre les capacités de Copilot
Développement logiciel avec GitHub Copilot

Appliquons-le maintenant

nanobanana: moitié : Le parcours d’un développeur représenté par un chemin avec trois jalons (tests, sécurité, performance) menant d’un éditeur de code à une application déployée, illustration vectorielle plate

 

  • Tests — détecter les bugs avant la prod
  • Sécurité — repérer tôt les failles
  • Performance — écrire du code qui passe à l’échelle
Développement logiciel avec GitHub Copilot

Copilot facilite les tests

nanobanana: moitié : Un assistant IA génère du code de test sur l’écran d’un développeur, avec des coches vertes à côté des résultats, illustration vectorielle plate

 

  • ✔ Générer des suites de tests complètes
  • 💡 Couvrir les cas limites
  • 🤖 Gérer le boilerplate
Développement logiciel avec GitHub Copilot

Les cas limites qui échappent

 

def calculate_discount(price, discount_pct):
    discount = price * (discount_pct / 100)
    return price - discount

calculate_discount(50, 20)  # → 40.0 ✓

 

Mais qu’en est-il de…

  • price négatif
  • discount_pct > 100
  • Commande de quantité zéro
Développement logiciel avec GitHub Copilot

[screencast]

Développement logiciel avec GitHub Copilot

[screencast]

Développement logiciel avec GitHub Copilot

Quand aller plus loin

nanobanana: moitié : Un·e développeur·se concentré·e à un ordinateur portable rédige un message dans une interface de chat IA

Cas simples

  • /tests

 

Cas particuliers

Écrivez des tests unitaires pytest pour calculate_discount couvrant : prix négatif, remise > 100 %, et liste d’articles vide. Utilisez parametrize pour les cas limites.

Développement logiciel avec GitHub Copilot

Au-delà des tests unitaires

nanobanana: moitié : Une pyramide de tests en trois couches horizontales empilées : large base « tests unitaires », milieu « tests d’intégration », sommet étroit « tests de bout en bout »

 

  • Unitaires — /tests ou simple invite
  • Intégration — décrire les connexions entre composants
  • Bout en bout — utiliser tout le contexte du codebase
Développement logiciel avec GitHub Copilot

Tests d’intégration

 

  • Joindre chaque fichier pertinent avec #file:
  • Décrire l’interaction et la stratégie de mock
  • Utiliser /fixTestFailure si un test casse

 

Rédigez des tests d’intégration pour le flux de paiement. Utilisez #file:cart.py et #file:payment.py. Mockez la passerelle de paiement et vérifiez que le statut de commande se met à jour correctement.

Développement logiciel avec GitHub Copilot

Tests de bout en bout

 

  • @workspace détecte automatiquement le code pertinent
  • Fonctionne bien avec Playwright et Cypress
  • Utiliser #terminalLastCommand pour déboguer les échecs

 

@workspace Rédigez des tests de bout en bout Playwright pour le flux d’inscription utilisateur. Vérifiez que l’e-mail de confirmation est déclenché.

Développement logiciel avec GitHub Copilot

[screencast]

Développement logiciel avec GitHub Copilot

Passons à la pratique !

Développement logiciel avec GitHub Copilot

Preparing Video For Download...