Lorsque vous travaillez avec Go et Appengine, il est essentiel de mettre en œuvre des cas de test pour garantir la fonctionnalité du code. Cependant, l'exécution de tests à l'aide du package de test Go standard peut s'avérer difficile en raison des limitations d'accès aux contextes Appengine.
Comme vous l'avez mentionné, l'utilisation de « go test hello. » ne s'exécutera pas. tester les cas avec succès. Le problème réside dans l'impossibilité d'appeler le fichier "http.go" à partir du fichier de test "http_test.go".
Pour résoudre ce problème, vous pouvez utiliser le " github.com/mzimmerman/appenginetesting". Cette bibliothèque tierce fournit un appengine.Context simulé, vous permettant d'exécuter des tests sur un environnement Appengine simulé.
Pour installer appenginetesting, suivez ces étapes :
Pour utiliser appenginetesting dans vos tests, importez le package et créez un appengine simulé.Contexte :
import "github.com/mzimmerman/appenginetesting" ... c := appenginetesting.NewContext(nil)
Vous pouvez ensuite utiliser le contexte "c" dans votre code de test, similaire à travailler avec un appengine.Context réel. Cependant, il est crucial de fermer le contexte manuellement à l'aide de "defer c.Close() " pour éviter de laisser les processus Python persistants en cours d'exécution.
Pour éviter l'importation directe depuis Appengine, envisagez création d'un package personnalisé qui fournit le contexte basé sur l'environnement de construction. À l'aide des indicateurs de build, vous pouvez choisir quelle implémentation de contexte charger pour l'environnement Appengine ou de test. Cette approche vous permet de conserver une interface cohérente pour accéder au contexte, quel que soit le runtime.
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!