testing-patterns
Écrire de meilleurs tests Jest
Également disponible depuis: 0xDarkMatter,0xDarkMatter,CleanExpo,ChrisWiles
Cette compétence fournit des modèles de tests Jest prêts à l'emploi, notamment des fonctions factory, des utilitaires de rendu personnalisés et des stratégies de mocking qui aident les développeurs à écrire des tests maintenables et DRY suivant les principes TDD.
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 "testing-patterns". Créer une fonction factory pour les données utilisateur
Résultat attendu:
```typescript
interface User {
id: string;
name: string;
email: string;
role: 'admin' | 'user';
}
const getMockUser = (overrides?: Partial<User>): User => ({
id: '123',
name: 'John Doe',
email: 'john@example.com',
role: 'user',
...overrides,
});
```
Utilisation de "testing-patterns". Montrez-moi une fonction de rendu personnalisée
Résultat attendu:
```typescript
export const renderWithTheme = (ui: React.ReactElement) => {
return render(
<ThemeProvider>{ui}</ThemeProvider>
);
};
```
Utilisation de "testing-patterns". Comment dois-je structurer mes tests ?
Résultat attendu:
Utilisez des blocs describe pour regrouper les tests liés : describe('ComponentName', () => { describe('Rendering', () => {...}); describe('User interactions', () => {...}); describe('Edge cases', () => {...}); });
Audit de sécurité
SûrSecurity review completed. All 42 static findings are false positives triggered by the static analyzer misinterpreting: (1) markdown code formatting backticks as shell commands, (2) TypeScript generics like Partial<X> as cryptographic patterns, and (3) the word 'APIs' as network reconnaissance. The skill is legitimate Jest testing documentation with no security concerns.
Score de qualité
Ce que vous pouvez construire
Configuration de l'infrastructure de test
Créer des fonctions de rendu personnalisées et des utilitaires factory qui encapsulent les composants avec les providers requis comme ThemeProvider, réduisant le code répétitif dans chaque test.
Écriture de tests unitaires maintenables
Utiliser des fonctions factory pour générer des données de test cohérentes, rendant les tests plus faciles à lire, maintenir et mettre à jour lorsque les structures de données changent.
Suivre la méthodologie TDD
Appliquer le cycle red-green-refactor en écrivant d'abord des tests qui échouent, puis en implémentant le code minimal pour les faire passer, assurant que les tests pilotent le développement.
Essayez ces prompts
Aidez-moi à configurer un fichier de test de base pour un composant React. Montrez-moi comment créer une fonction de rendu personnalisée qui encapsule le composant avec un ThemeProvider.
Créez une fonction factory appelée getMockUser qui retourne un objet utilisateur avec des valeurs par défaut pour id, name, email et role. Montrez comment remplacer des propriétés spécifiques en utilisant le type Partial.
Montrez-moi comment mocker un module comme 'utils/analytics' dans Jest. Incluez comment accéder au mock dans le test et comment mocker les valeurs de retour.
Guidez-moi à travers le flux de travail TDD pour ajouter une nouvelle fonctionnalité. Commencez par écrire un test qui échoue, puis montrez l'implémentation minimale pour le faire passer.
Bonnes pratiques
- Toujours utiliser des fonctions factory pour les props et les données afin de garder les tests DRY et cohérents
- Tester le comportement via l'API publique plutôt que les détails d'implémentation
- Utiliser des noms de tests descriptifs qui expliquent quel comportement est testé
Éviter
- Éviter de tester le comportement des mocks au lieu du comportement réel des composants
- Ne pas dupliquer les données de test entre les tests - utiliser des fonctions factory à la place
- Éviter de tester les détails d'implémentation qui peuvent changer lors du refactoring