Maison >développement back-end >Golang >Comment tester efficacement les applications Go sur Google App Engine à l'aide d'appenginetesting ?
Cas de test pour Go et AppEngine avec appenginetesting
AppEngine est une plate-forme de cloud computing populaire fournie par Google, qui permet aux développeurs de déployer des applications Web sans gérer de serveurs ou d'infrastructure. Tester les applications Go exécutées sur AppEngine peut s'avérer difficile en raison de la dépendance à l'égard de l'environnement AppEngine. Dans cet article, nous explorerons comment écrire des cas de test à l'aide du package appenginetesting.
Installation d'appenginetesting
Pour utiliser appenginetesting, vous devrez l'installer en utilisant les étapes suivantes :
Écrire des tests avec appenginetesting
appenginetesting fournit un faux appengine.Context qui peut être utilisé dans les tests. Il démarre un serveur de développement Python et exécute des requêtes via celui-ci, ce qui peut rendre les tests plus lents que l'utilisation d'un véritable environnement AppEngine. Pour l'utiliser dans les tests, vous pouvez :
Vous pouvez ensuite utiliser le faux contexte comme vous le feriez avec un véritable appengine.Context, mais il ne fonctionnera que dans le fichier de test.
Pour importer le contexte à partir d'un package personnalisé au lieu d'Appengine, vous pouvez utiliser des indicateurs de build pour spécifier le fichier à charger en fonction de l'environnement de build. Par exemple :
context_appengine.go // +build appengine context_testing.go // +build !appengine
Ensuite, importez depuis votre package personnalisé plutôt que directement depuis Appengine. N'oubliez pas de fermer explicitement le contexte après utilisation pour terminer le processus Python.
Enfin, pour plus d'exemples et d'explications détaillées, reportez-vous aux fichiers context_test.go et recorder_test.go dans le référentiel appenginetesting.
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!