Compétences temporal-python-testing
🧪

temporal-python-testing

Sûr ⚙️ Commandes externes🌐 Accès réseau📁 Accès au système de fichiers

Tester les workflows Temporal avec pytest et les mocks

Les tests de workflows Temporal sont souvent lents ou instables. Cette compétence fournit des modèles de test rapides et déterministes utilisant le saut temporel, le mock d'activités et la validation par rejeu pour des pipelines CI/CD fiables.

Prend en charge: Claude Codex Code(CC)
📊 69 Adéquat
1

Télécharger le ZIP du skill

2

Importer dans Claude

Allez dans Paramètres → Capacités → Skills → Importer un skill

3

Activez et commencez à utiliser

Tester

Utilisation de "temporal-python-testing". Créer un plan de test pour les workflows Temporal avec une couverture unitaire, d'intégration et de rejeu.

Résultat attendu:

  • Utiliser WorkflowEnvironment avec le saut temporel pour des tests unitaires de workflows rapides
  • Mock les dépendances externes dans les tests d'intégration et vérifier les chemins de gestion des erreurs
  • Exporter les historiques de production et rejouer contre le nouveau code avant le déploiement

Utilisation de "temporal-python-testing". Comment tester un workflow qui a une logique de retry et plusieurs activités ?

Résultat attendu:

  • Créer un test avec des activités mockées pour isoler la logique du workflow
  • Utiliser ActivityEnvironment pour tester la gestion des erreurs spécifique aux activités
  • Vérifier le comportement de retry en comptant les invocations d'activités
  • Tester les chemins de succès et d'échec avec des assertions

Utilisation de "temporal-python-testing". Quelles sont les erreurs courantes lors des tests de workflows Temporal ?

Résultat attendu:

  • Appeler de vraies API externes au lieu de les mocker
  • Utiliser random() ou datetime.now() qui casse le déterminisme du rejeu
  • Sauter les tests de rejeu avant de déployer des modifications de workflow
  • Ne pas utiliser le saut temporel pour les tests de workflows de longue durée

Audit de sécurité

Sûr
v4 • 1/17/2026

Educational documentation for Temporal workflow testing. Static scanner false positives: markdown code block backticks flagged as shell execution, legitimate docs URLs as hardcoded URLs, and test code patterns as cryptographic/C2 indicators. Previous Claude audit (skill-report.json) confirmed safe with no risk factors. All 149 findings are false positives from documentation patterns.

6
Fichiers analysés
2,131
Lignes analysées
3
résultats
4
Total des audits

Facteurs de risque

⚙️ Commandes externes (125)
resources/integration-testing.md:11-49 resources/integration-testing.md:49-54 resources/integration-testing.md:54-102 resources/integration-testing.md:102-109 resources/integration-testing.md:109-152 resources/integration-testing.md:152-157 resources/integration-testing.md:157-197 resources/integration-testing.md:197-203 resources/integration-testing.md:203-260 resources/integration-testing.md:260-264 resources/integration-testing.md:264-301 resources/integration-testing.md:301-307 resources/integration-testing.md:307-358 resources/integration-testing.md:358-366 resources/integration-testing.md:366-376 resources/integration-testing.md:376-382 resources/integration-testing.md:382-393 resources/integration-testing.md:393-399 resources/integration-testing.md:399-411 resources/integration-testing.md:411-415 resources/integration-testing.md:415-436 resources/local-setup.md:9-54 resources/local-setup.md:54-58 resources/local-setup.md:58-76 resources/local-setup.md:76-80 resources/local-setup.md:80-120 resources/local-setup.md:120-126 resources/local-setup.md:126-153 resources/local-setup.md:153-157 resources/local-setup.md:157-184 resources/local-setup.md:184-188 resources/local-setup.md:188-235 resources/local-setup.md:235-239 resources/local-setup.md:239-246 resources/local-setup.md:246-248 resources/local-setup.md:248-273 resources/local-setup.md:273-279 resources/local-setup.md:279-301 resources/local-setup.md:301-305 resources/local-setup.md:305-323 resources/local-setup.md:323-327 resources/local-setup.md:327-342 resources/local-setup.md:342-348 resources/local-setup.md:348-366 resources/local-setup.md:366-370 resources/local-setup.md:370-383 resources/local-setup.md:383-387 resources/local-setup.md:387-424 resources/local-setup.md:424-428 resources/local-setup.md:428-472 resources/local-setup.md:472-478 resources/local-setup.md:478-485 resources/local-setup.md:485-489 resources/local-setup.md:489-497 resources/local-setup.md:497-501 resources/local-setup.md:501-507 resources/local-setup.md:507-522 resources/local-setup.md:522-529 resources/local-setup.md:529-532 resources/local-setup.md:532-535 resources/local-setup.md:535-538 resources/local-setup.md:538-543 resources/local-setup.md:372 resources/replay-testing.md:25-47 resources/replay-testing.md:47-51 resources/replay-testing.md:51-74 resources/replay-testing.md:74-81 resources/replay-testing.md:81-95 resources/replay-testing.md:95-98 resources/replay-testing.md:98-114 resources/replay-testing.md:114-117 resources/replay-testing.md:117-136 resources/replay-testing.md:136-140 resources/replay-testing.md:140-176 resources/replay-testing.md:176-182 resources/replay-testing.md:182-199 resources/replay-testing.md:199-203 resources/replay-testing.md:203-218 resources/replay-testing.md:218-224 resources/replay-testing.md:224-264 resources/replay-testing.md:264-268 resources/replay-testing.md:268-302 resources/replay-testing.md:302-306 resources/replay-testing.md:306-344 resources/replay-testing.md:344-350 resources/replay-testing.md:350-394 resources/replay-testing.md:394-398 resources/replay-testing.md:398-420 resources/replay-testing.md:420-435 resources/replay-testing.md:435-439 resources/replay-testing.md:439-444 resources/replay-testing.md:444-446 resources/unit-testing.md:11-39 resources/unit-testing.md:39-42 resources/unit-testing.md:42-49 resources/unit-testing.md:49-72 resources/unit-testing.md:72-75 resources/unit-testing.md:75-97 resources/unit-testing.md:97-102 resources/unit-testing.md:102-137 resources/unit-testing.md:137-145 resources/unit-testing.md:145-158 resources/unit-testing.md:158-163 resources/unit-testing.md:163-177 resources/unit-testing.md:177-180 resources/unit-testing.md:180-197 resources/unit-testing.md:197-202 resources/unit-testing.md:202-222 resources/unit-testing.md:222-228 resources/unit-testing.md:228-244 resources/unit-testing.md:244-248 resources/unit-testing.md:248-258 resources/unit-testing.md:258-273 resources/unit-testing.md:273-314 SKILL.md:38 SKILL.md:48 SKILL.md:58 SKILL.md:67 SKILL.md:79-105 SKILL.md:105-109 SKILL.md:109-116 SKILL.md:116-137 SKILL.md:137-138 SKILL.md:138-139 SKILL.md:139-140
🌐 Accès réseau (6)
📁 Accès au système de fichiers (4)

Score de qualité

38
Architecture
100
Maintenabilité
87
Contenu
19
Communauté
100
Sécurité
91
Conformité aux spécifications

Ce que vous pouvez construire

Ajouter des tests unitaires rapides

Créer des tests rapides de workflows et d'activités avec le saut temporel qui s'exécutent en millisecondes au lieu d'heures.

Valider les flux d'intégration

Mock les services externes et vérifier les chemins d'orchestration de workflows complexes avec l'injection d'erreurs.

Exécuter les vérifications de rejeu

Confirmer le déterminisme des workflows avant le déploiement et valider la compatibilité de version.

Essayez ces prompts

Démarrer les tests unitaires
Montrez-moi une configuration pytest minimale pour tester un workflow avec le saut temporel et une activité simple. Incluez les fixtures et les assertions.
Mock des activités
Fournissez un exemple de test d'intégration qui mock les activités et vérifie la logique de branchement du workflow basée sur les résultats des activités.
Vérification de sécurité du rejeu
Expliquez comment rejouer les historiques de workflows depuis la production et détecter les modifications non déterministes qui pourraient casser les workflows en cours d'exécution.
Plan de couverture CI
Décrivez un plan CI complet avec les marqueurs pytest, les seuils de couverture et les tests de rejeu automatisés pour des déploiements sécurisés.

Bonnes pratiques

  • Utiliser le saut temporel pour tous les tests unitaires de workflows pour exécuter des workflows de plusieurs mois en quelques secondes
  • Mock les dépendances externes dans les tests d'intégration pour isoler la logique du workflow
  • Exécuter les tests de rejeu avant de déployer toute modification de workflow pour assurer le déterminisme

Éviter

  • Appeler de vraies API externes dans les tests de workflows au lieu de les mocker
  • Utiliser random() ou datetime.now() dans le code de workflow sans les helpers Temporal
  • Sauter les tests de rejeu après des refactorisations importantes ou des modifications de logique de workflow

Foire aux questions

Quelles versions de Python sont prises en charge ?
Les exemples ciblent Python 3.10 ou plus récent avec le SDK Temporal Python v1.5.0 ou ultérieur.
Y a-t-il des limites sur la taille des tests ?
Pas de limites fixes, mais les grandes suites de tests de rejeu doivent être groupées dans CI pour la performance.
Puis-je intégrer cela avec les configurations pytest existantes ?
Oui, les recommandations utilisent les fixtures et marqueurs pytest standards qui fonctionnent avec les configurations existantes.
Cette compétence accède-t-elle à mes données ou identifiants ?
Non, cela fournit uniquement des recommandations et ne lit pas les fichiers, les variables d'environnement ou les secrets.
Que faire si les tests échouent à cause du non-déterminisme ?
Utiliser workflow.get_version() pour des modifications sûres et éviter random ou datetime sans les helpers Temporal.
Comment cela se compare-t-il aux tests de bout en bout ?
Cela met l'accent sur des tests unitaires et d'intégration plus rapides avec le mocking, utilisant les tests de rejeu pour la validation de sécurité.