Cas de test pour Go et Appengine
Les développeurs ont souvent besoin de tester des cas lorsqu'ils utilisent le langage de programmation Go avec Appengine. Cependant, lors de l'utilisation du package de tests standard de Go, il peut être difficile d'exécuter des tests et d'en garantir l'exactitude. Cet article fournit des conseils complets sur l'utilisation de github.com/mzimmerman/appenginetesting pour résoudre ces problèmes efficacement.
Installation de github.com/mzimmerman/appenginetesting
Pour commencer, les étapes suivantes sont nécessaires pour installer le bibliothèque :
Rédaction de cas de test
La fonctionnalité unique de appenginetesting est sa capacité à créer un faux contexte App Engine. Ceci est réalisé en lançant un serveur de développement Python qui traite la requête, ce qui entraîne des temps d'exécution des tests légèrement plus longs.
Pour utiliser ce faux contexte, incluez simplement la ligne suivante dans votre code de test :
import "github .com/mzimmerman/appenginetesting"
Ensuite, créez un nouveau contexte en utilisant c := appenginetesting.NewContext(nil). Ce contexte peut ensuite être utilisé comme un appengine.Context classique.
Cependant, il est important de noter que cette technique ne fonctionne que dans le fichier de test et est incompatible avec les contextes créés à l'aide de appengine.NewContext(r).
Un package de contexte personnalisé
Pour surmonter cette limitation, l'article suggère de créer un package personnalisé pour importer le contexte à la place d'utiliser directement le package de contexte d'Appengine. Cela vous permet d'utiliser un contexte personnalisé dans vos tests sans que cela n'affecte le code de production.
Pour implémenter cette approche, utilisez les indicateurs de build appropriés pour spécifier quel fichier charger en fonction de l'environnement de build.
Fermeture du contexte
Après avoir utilisé le faux contexte, il est essentiel de le fermer explicitement pour terminer les processus Python. Cela peut être fait en utilisant defer c.Close().
Pour des informations et des exemples supplémentaires, reportez-vous aux extraits de code GitHub fournis :
Pour d'autres améliorations, deux fourchettes sont recommandé :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!