test-driven-development
Appliquer le développement piloté par les tests
Également disponible depuis: Cycleaddict,davila7,DMJGilbert,DYAI2025,Cygnusfear,CodingCossack,obra
Écrire des tests après le code conduit à une confiance erronée et à des cas limites manqués. Cette compétence impose la discipline TDD : écrire d'abord un test qui échoue, puis implémenter juste assez de code pour le faire passer.
Télécharger le ZIP du skill
Importer dans Claude
Allez dans Paramètres → Capacités → Skills → Importer un skill
Activez et commencez à utiliser
Tester
Utilisation de "test-driven-development". Je dois ajouter une fonction qui valide les adresses e-mail
Résultat attendu:
Commençons avec le TDD. D'abord, j'écris un test qui échoue :
```typescript
test('rejects invalid email', () => {
expect(validateEmail('invalid')).toBe(false);
});
```
Maintenant, je vais exécuter ce test pour confirmer qu'il échoue...
Utilisation de "test-driven-development". La fonction login devrait gérer les mauvais mots de passe
Résultat attendu:
En suivant le TDD, d'abord le test :
```typescript
test('rejects wrong password', async () => {
const result = await login('user@test.com', 'wrongpass');
expect(result.success).toBe(false);
expect(result.error).toBe('Invalid credentials');
});
```
Exécution du test pour vérifier qu'il échoue...
Audit de sécurité
SûrThis is a legitimate Test-Driven Development educational skill. The static analyzer detected 73 potential issues, but after semantic evaluation, all findings are FALSE POSITIVES. The 'external_commands' detections are markdown code block delimiters (backticks) in documentation, not actual shell execution. The 'weak cryptographic algorithm' and 'network reconnaissance' detections are similarly false positives triggered by keywords in educational context. No executable malicious code exists in this skill.
Problèmes à risque moyen (1)
Score de qualité
Ce que vous pouvez construire
Implémentation d'une nouvelle fonctionnalité
Lors de la création d'une nouvelle fonctionnalité, écrivez d'abord le test qui définit le comportement attendu, regardez-le échouer, puis implémentez pour le faire passer
Workflow de correction de bug
Lors de la correction d'un bug, écrivez d'abord un test qui reproduit le bug, regardez-le échouer, puis corrigez le code pour le faire passer
Refactoring en toute confiance
Avant de refactoriser, assurez-vous que des tests existent. Les tests vérifient que le comportement reste correct après les modifications du code
Essayez ces prompts
Je dois implémenter [décrire la fonctionnalité]. En suivant le TDD, écrivez d'abord un test qui échoue et qui définit le comportement attendu. N'écrivez pas encore de code d'implémentation.
Exécutez le test que je viens d'écrire et confirmez qu'il échoue pour la bonne raison (fonctionnalité manquante, pas à cause de fautes de frappe). Montrez-moi le message d'échec exact.
Maintenant, écrivez le code minimal nécessaire pour faire passer le test. N'ajoutez pas de fonctionnalités supplémentaires et ne refactorisez pas. Faites simplement passer le test.
Il y a un bug où [décrire le bug]. Écrivez d'abord un test qui reproduit ce bug et qui échoue. Ensuite, je le corrigerai.
Bonnes pratiques
- Écrire un test à la fois - se concentrer sur un comportement unique
- Nommer les tests par le comportement qu'ils vérifient, pas par ce qui est testé
- Toujours regarder le test échouer avant d'écrire l'implémentation
- Garder l'implémentation minimale - passer uniquement le test actuel
Éviter
- Écrire du code d'implémentation avant les tests (puis 'adapter' les tests)
- Garder le code d'implémentation qui échoue comme 'référence' pendant l'écriture des tests
- Les tests qui passent immédiatement - ils ne prouvent rien
- Tester le comportement des mocks au lieu du comportement réel des composants
Foire aux questions
Qu'est-ce que le développement piloté par les tests ?
Pourquoi écrire les tests avant le code ?
Que faire si le test est difficile à écrire ?
Puis-je sauter le TDD pour du code simple ?
Que faire si j'ai déjà écrit l'implémentation ?
Le TDD ralentit-il le développement ?
Détails du développeur
Auteur
ZhanlinCuiLicence
MIT
Dépôt
https://github.com/ZhanlinCui/Ultimate-Agent-Skills-Collection/tree/main/test-driven-developmentRéf
main
Structure de fichiers