Test
Arbre de décision
| Framework | Documentation |
|---|---|
| Aperçu | https://clerk.com/docs/guides/development/testing/overview |
| Playwright | https://clerk.com/docs/guides/development/testing/playwright/overview |
| Cypress | https://clerk.com/docs/guides/development/testing/cypress/overview |
Modèle conceptuel
Test auth = état de session isolé. Chaque test a besoin d'un contexte auth frais.
clerkSetup()initialise l'environnement de testsetupClerkTestingToken()contourne la détection de botstorageStatepersiste l'auth entre les tests pour plus de rapidité
Workflow
- Identifiez le framework de test (Playwright ou Cypress)
- Récupérez l'URL appropriée de l'arbre de décision ci-dessus
- Suivez les instructions de configuration officielles
- Utilisez uniquement les clés
pk_test_*etsk_test_*
Bonnes pratiques
- Utilisez
setupClerkTestingToken()avant de naviguer vers les pages d'authentification - Utilisez les clés API de test :
pk_test_xxx,sk_test_xxx - Sauvegardez l'état auth avec
storageStatepour des tests plus rapides - Utilisez
page.waitForSelector('[data-clerk-component]')pour l'UI Clerk
Anti-patterns
| Pattern | Problème | Solution |
|---|---|---|
| Clés de production dans les tests | Risque de sécurité | Utilisez les clés pk_test_* |
Pas de setupClerkTestingToken() |
L'authentification échoue | Appelez avant la navigation |
| Authentification basée sur l'UI à chaque test | Tests lents | Utilisez storageState |
Spécifique au framework
Playwright : Utilisez globalSetup pour l'état auth
Cypress : Ajoutez addClerkCommands({ Cypress, cy }) au fichier de support
Voir aussi
clerk-setup- Installez Clerk avant d'ajouter des testsclerk-nextjs-patterns- Patterns Next.js en cours de test- Repo de démo