temporal-python-testing
par wshobsonTestez les workflows Temporal avec pytest, le saut dans le temps et des stratégies de simulation. Couvre les tests unitaires, les tests d'intégration, les tests de relecture et la configuration locale. À utiliser lors de l'implémentation de tests de workflows Temporal ou pour déboguer des échecs de tests.
Aperçu
Qu'est-ce que temporal-python-testing ?
temporal-python-testing est une compétence pratique pour automatiser les tests des workflows Temporal écrits en Python. Elle fournit des stratégies et des ressources pour les tests unitaires, les tests d'intégration, les tests de relecture et la configuration locale. Cette compétence s'adresse aux développeurs backend, ingénieurs QA et équipes DevOps qui doivent garantir la justesse, la fiabilité et le déterminisme du code des workflows Temporal.
À qui s'adresse cette compétence ?
Utilisez temporal-python-testing si vous :
- développez ou maintenez des workflows Python sur Temporal
- avez besoin de tests rapides et fiables (unitaires, intégration, relecture)
- souhaitez automatiser les tests dans des pipelines CI/CD
- exigez une couverture de test élevée et des résultats déterministes
- déboguez des échecs de workflows ou validez des modifications de code
Quels problèmes résout-elle ?
- Permet un retour rapide grâce au saut dans le temps (workflows longue durée testés en quelques secondes)
- Supporte la simulation et l'isolation pour les tests d'intégration
- Valide la compatibilité ascendante et le déterminisme via les tests de relecture
- Simplifie la configuration locale d'un serveur Temporal pour le développement et les tests
Comment l'utiliser
Étapes d'installation
- Ajoutez la compétence à votre répertoire agent :
npx skills add https://github.com/wshobson/agents --skill temporal-python-testing - Consultez le guide principal dans
SKILL.mdpour un aperçu des stratégies de test. - Explorez les ressources complémentaires :
resources/unit-testing.mdpour les tests unitaires avec saut dans le tempsresources/integration-testing.mdpour la simulation d'activitésresources/replay-testing.mdpour les tests de relecture avec des historiques de productionresources/local-setup.mdpour la configuration locale du serveur Temporal
Fonctionnalités clés et modèles
Tests unitaires avec saut dans le temps
- Utilisez
WorkflowEnvironment.start_time_skipping()pour exécuter instantanément les tests de workflows - Testez workflows et activités en isolation
- Obtenez un retour rapide et des résultats déterministes
Tests d'intégration avec activités simulées
- Simulez les dépendances externes avec
unittest.mockde Python - Testez la logique d'orchestration des workflows sans services réels
- Injectez des erreurs et simulez des scénarios complexes
Tests de relecture pour le déterminisme
- Utilisez l'historique d'événements de Temporal pour rejouer les workflows
- Validez que les modifications de code sont sûres et compatibles avec les versions précédentes
- Intégrez les tests de relecture dans CI/CD pour des vérifications automatisées de compatibilité
Configuration locale pour le développement
- Lancez un serveur Temporal localement avec Docker Compose
- Accédez à l'interface Web Temporal pour surveiller les workflows
- Réinitialisez et gérez facilement les données de test
Guide des fichiers et dossiers
- Commencez par
SKILL.mdpour une vue d'ensemble de la compétence - Consultez
resources/pour des guides détaillés sur chaque type de test - Utilisez
resources/local-setup.mdpour la configuration de l'environnement
FAQ
temporal-python-testing est-il adapté aux tests en production ?
Oui, il couvre les stratégies de tests unitaires, d'intégration et de relecture recommandées par Temporal pour les workflows en production.
Comment configurer un serveur Temporal local ?
Suivez les instructions Docker Compose dans resources/local-setup.md pour exécuter Temporal et son interface UI localement.
Puis-je automatiser les tests dans des pipelines CI/CD ?
Oui, la compétence fournit des conseils pour intégrer les tests dans CI/CD, y compris les tests de relecture pour vérifier la compatibilité.
Où trouver des exemples de modèles de tests ?
Consultez resources/unit-testing.md, resources/integration-testing.md et resources/replay-testing.md pour des exemples de code et des modèles pratiques.
Comment prévisualiser toutes les ressources disponibles ?
Ouvrez l'onglet Fichiers pour parcourir l'arborescence complète, y compris les références imbriquées et les scripts d'aide.
