Maison > Article > développement back-end > Application pratique : tests d'API avec Beego
Ces dernières années, en raison du développement de la technologie Internet, le développement et les tests d'API (Application Programming Interface) sont devenus une partie importante des sociétés Internet. En raison de la simplicité du processus de test des API, de la haute efficacité et du taux élevé de réutilisation du code, de plus en plus de sociétés Internet commencent à utiliser des tests automatisés pour tester leurs interfaces API. Cet article présentera en détail comment utiliser le framework Beego pour les tests d'API.
1. Introduction au framework Beego
Beego est un framework web basé sur le langage Go En raison de son efficacité, de sa simplicité et de ses caractéristiques faciles à prendre en main, il est utilisé par de plus en plus de développeurs. En outre, Beego fournit également une multitude d'outils et de plug-ins, notamment ORM, Websocket, Redis, CORS, Swagger et d'autres outils, qui peuvent considérablement améliorer l'efficacité du développement.
2. Outils de développement
Avant de commencer le développement, vous devez d'abord préparer les outils de développement nécessaires. L'environnement de développement utilisé dans cet article est le suivant :
1. Système d'exploitation : Windows 10
Version 2.Go : go1.11.4 windows/amd64
3. Version Beego : 1.12.1
4. GoConvey
5 .Navigateur : Chrome
6. Éditeur de code : Sublime Text 3
7. Base de données : MySQL
3. Installation et configuration
1 Installer Go
Tout d'abord, vous devez installer le développement du langage Go. environnement. Téléchargez le package d'installation correspondant sur le site officiel (https://golang.org/dl/). Une fois le téléchargement terminé, double-cliquez pour exécuter le package d'installation afin de terminer l'installation.
2. Installez Beego
Après avoir installé le langage Go, vous devez installer le framework Beego. Beego peut être installé via la commande suivante :
go get -u github.com/astaxie/beego
Cette commande téléchargera le framework Beego sur le chemin GOPATH.
3. Installez GoConvey
GoConvey est un framework de tests unitaires pour le langage Go qui peut détecter tous les cas de test du projet et exécuter automatiquement ces cas de test. La méthode pour installer GoConvey est la suivante :
go get github.com/smartystreets/goconvey
4. Installer MySQL
Dans cet article, nous utilisons la base de données MySQL. Veuillez vous rendre sur le site officiel de MySQL pour télécharger et installer : https://dev.mysql.com/downloads/mysql/
Lors de l'installation de MySQL, il est recommandé d'installer le MySQL Workbench intégré.
4. Créer un projet Beego
Il existe de nombreuses façons de créer un projet Beego. Vous pouvez utiliser la ligne de commande ou l'outil web fourni par Beego. Dans cet article, nous utilisons la ligne de commande pour créer un projet appelé « MyAPI ». Entrez la commande suivante dans la ligne de commande :
bee new MyAPI
Ensuite un projet Beego nommé "MyAPI" sera créé dans le répertoire courant.
Ensuite, nous devons utiliser la base de données MySQL installée précédemment. Dans MySQL Workbench, créez une nouvelle base de données et nommez-la MyAPI, puis exécutez l'instruction SQL suivante :
CREATE TABLE users ( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(20), password VARCHAR(50), created_at TIMESTAMP DEFAULT NOW() )
Cette instruction SQL crée une table nommée utilisateurs, qui contient quatre champs : id, nom d'utilisateur, mot de passe et créé_at.
Ensuite, nous devons accorder des autorisations d'accès à la base de données. Ouvrez MySQL Workbench, sélectionnez Base de données -> Utilisateurs et privilèges -> Ajouter un compte, créez un nouvel utilisateur et attribuez à l'utilisateur des autorisations de lecture et d'écriture sur la base de données MyAPI.
5. Écrire l'API
Après avoir créé le projet Beego, nous devons ajouter quelques interfaces API au projet pour les tests. Dans le main.go du projet MyAPI, nous ajoutons le code suivant :
package main import ( "MyAPI/controllers" "github.com/astaxie/beego" "github.com/astaxie/beego/orm" _ "github.com/go-sql-driver/mysql" ) func init() { orm.RegisterDriver("mysql", orm.DRMySQL) orm.RegisterDataBase("default", "mysql", "username:password@tcp(127.0.0.1:3306)/MyAPI?charset=utf8") orm.RegisterModel(new(models.User)) orm.RunSyncdb("default", false, true) } func main() { beego.Router("/api/user/:id", &controllers.UserController{}) beego.Run() }
Dans le code ci-dessus, nous utilisons la méthode beego.Router() pour connecter le chemin API "/api/user/:id" avec le contrôle controllers.UserController{} Liaison de périphérique. Nous utilisons également la technologie ORM (Object Relational Mapping) pour interagir avec la base de données MySQL, enregistrer la base de données par défaut à l'aide de la méthode RegisterDataBase(), créer la table des utilisateurs dans la base de données et enregistrer la structure User en tant que modèle ORM.
Lors de l'écriture du contrôleur controllers.UserController{}, nous avons ajouté le code suivant pour gérer la requête HTTP GET et obtenir un utilisateur spécifique :
func (c *UserController) Get() { o := orm.NewOrm() user := models.User{} id, _ := strconv.Atoi(c.Ctx.Input.Param(":id")) user.ID = id err := o.Read(&user) if err != nil { c.Data["json"] = err.Error() } else { c.Data["json"] = user } c.ServeJSON() }
6. Testez l'interface API
Dans cet article, nous utilisons GoConvey pour tester le Interface API. Nous devons ajouter un répertoire nommé tests au projet Beego et créer un fichier de test nommé user_test.go dans le répertoire.
package tests import ( "MyAPI/models" "github.com/astaxie/beego/orm" "net/http" "net/http/httptest" "testing" "github.com/smartystreets/goconvey/convey" ) func TestGetUser(t *testing.T) { convey.Convey("GetUser", t, func() { o := orm.NewOrm() user := models.User{Username: "testuser", Password: "testpass"} id, _ := o.Insert(&user) req, _ := http.NewRequest("GET", "/api/user/"+strconv.Itoa(int(id)), nil) resp := httptest.NewRecorder() beego.BeeApp.Handlers.ServeHTTP(resp, req) convey.So(resp.Code, convey.ShouldEqual, 200) }) }
Pour le code ci-dessus, nous avons utilisé le package de transmission fourni par GoConvey pour tester l'interface API. Nous utilisons d'abord ORM pour créer un nouvel utilisateur nommé testuser et obtenons cet utilisateur via une requête HTTP GET, puis utilisons la méthode transmettre.So() pour déterminer si l'état HTTP d'obtention des informations utilisateur est 200.
7. Démarrez le test
Entrez le répertoire du projet MyAPI via la ligne de commande et exécutez la commande suivante :
go test ./tests/...
Cette commande testera tous les cas de test du projet MyAPI et affichera les résultats du test.
8. Résumé
Cet article présente le processus de base d'utilisation de Beego pour les tests d'API. Avec l'aide du framework Beego et de l'outil GoConvey, les tests API peuvent être mieux réalisés et offrir une meilleure garantie pour nos projets. Dans le même temps, nous devons également continuer à apprendre de nouvelles technologies et de nouveaux outils, maintenir notre enthousiasme pour le développement et les tests et améliorer notre niveau technique.
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!