Maison développement back-end Golang Application pratique : tests d'API avec Beego

Application pratique : tests d'API avec Beego

Jun 18, 2023 pm 12:25 PM
api 测试 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
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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()
)
Copier après la connexion

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()
}
Copier après la connexion

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()
}
Copier après la connexion

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)
    })
}
Copier après la connexion

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/...
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Que pensez-vous de furmark ? - Comment furmark est-il considéré comme qualifié ? Que pensez-vous de furmark ? - Comment furmark est-il considéré comme qualifié ? Mar 19, 2024 am 09:25 AM

Que pensez-vous de furmark ? 1. Définissez le « Mode d'exécution » et le « Mode d'affichage » dans l'interface principale, ajustez également le « Mode de test » et cliquez sur le bouton « Démarrer ». 2. Après avoir attendu un moment, vous verrez les résultats du test, y compris divers paramètres de la carte graphique. Comment Furmark est-il qualifié ? 1. Utilisez une machine à pâtisserie Furmark et vérifiez les résultats pendant environ une demi-heure. Elle oscille essentiellement autour de 85 degrés, avec une valeur maximale de 87 degrés et une température ambiante de 19 degrés. Grand châssis, 5 ports de ventilateur de châssis, deux à l'avant, deux en haut et un à l'arrière, mais un seul ventilateur est installé. Tous les accessoires ne sont pas overclockés. 2. Dans des circonstances normales, la température normale de la carte graphique doit être comprise entre « 30 et 85 ℃ ». 3. Même en été, lorsque la température ambiante est trop élevée, la température normale est de « 50 à 85 ℃.

Rejoignez une nouvelle aventure Xianxia ! Le pré-téléchargement de 'Zhu Xian 2' 'Wuwei Test' est maintenant disponible Rejoignez une nouvelle aventure Xianxia ! Le pré-téléchargement de 'Zhu Xian 2' 'Wuwei Test' est maintenant disponible Apr 22, 2024 pm 12:50 PM

Le « Test d'inaction » du nouveau MMORPG féerique fantastique « Zhu Xian 2 » sera lancé le 23 avril. Quel genre de nouvelle histoire d'aventure féerique se produira sur le continent Zhu Xian des milliers d'années après l'œuvre originale ? Le monde immortel des six royaumes, une académie à plein temps pour cultiver des immortels, une vie libre pour cultiver des immortels et toutes sortes de divertissements dans le monde immortel attendent que les amis immortels l'explorent en personne ! Le pré-téléchargement "Wuwei Test" est maintenant ouvert. Les amis fées peuvent accéder au site officiel pour télécharger. Vous ne pouvez pas vous connecter au serveur de jeu avant le lancement du serveur. Le code d'activation peut être utilisé après le pré-téléchargement et l'installation. est terminé. "Zhu Xian 2" "Inaction Test" horaires d'ouverture : 23 avril 10h00 - 6 mai 23h59 Le nouveau chapitre d'aventure de conte de fées de la suite orthodoxe de Zhu Xian "Zhu Xian 2" est basé sur le roman "Zhu Xian" comme un modèle basé sur la vision du monde de l'œuvre originale, l'arrière-plan du jeu est défini.

Le nouveau roi des FPS domestiques ! Le champ de bataille « Opération Delta » dépasse les attentes Le nouveau roi des FPS domestiques ! Le champ de bataille « Opération Delta » dépasse les attentes Mar 07, 2024 am 09:37 AM

"Opération Delta" lancera aujourd'hui (7 mars) un test PC à grande échelle appelé "Codename: ZERO". Le week-end dernier, ce jeu a organisé un événement d'expérience flash mob hors ligne à Shanghai, et 17173 a également eu la chance d'être invité à participer. Ce test remonte à un peu plus de quatre mois depuis le dernier, ce qui nous rend curieux, quels nouveaux points forts et surprises l'Opération Delta apportera-t-elle en si peu de temps ? Il y a plus de quatre mois, j'ai expérimenté « l'Opération Delta » lors d'une séance de dégustation hors ligne et la première version bêta. A cette époque, le jeu n'ouvrait que le mode "Action Dangereuse". Pourtant, l’opération Delta était déjà impressionnante pour l’époque. Dans un contexte où les grands constructeurs se ruent sur le marché du jeu mobile, un tel FPS comparable aux standards internationaux

Comment gérer les problèmes d'erreur de l'API Laravel Comment gérer les problèmes d'erreur de l'API Laravel Mar 06, 2024 pm 05:18 PM

Titre : Comment gérer les problèmes d'erreur de l'API Laravel, des exemples de code spécifiques sont nécessaires lors du développement de Laravel, des erreurs d'API sont souvent rencontrées. Ces erreurs peuvent provenir de diverses raisons telles que des erreurs logiques du code du programme, des problèmes de requête de base de données ou des échecs de requête d'API externe. La façon de gérer ces rapports d'erreurs est un problème clé. Cet article utilisera des exemples de code spécifiques pour démontrer comment gérer efficacement les rapports d'erreurs de l'API Laravel. 1. Gestion des erreurs dans Laravel

Cinq projets open source sélectionnés en langage Go pour vous emmener explorer le monde de la technologie Cinq projets open source sélectionnés en langage Go pour vous emmener explorer le monde de la technologie Jan 30, 2024 am 09:08 AM

À l'ère actuelle de développement technologique rapide, les langages de programmation poussent comme des champignons après la pluie. L'un des langages qui a beaucoup retenu l'attention est le langage Go, apprécié par de nombreux développeurs pour sa simplicité, son efficacité, sa sécurité de concurrence et d'autres fonctionnalités. Le langage Go est connu pour son écosystème solide avec de nombreux excellents projets open source. Cet article présentera cinq projets open source sélectionnés en langage Go et amènera les lecteurs à explorer le monde des projets open source en langage Go. KubernetesKubernetes est un moteur d'orchestration de conteneurs open source pour l'automatisation

Guide d'utilisation de l'API Oracle : exploration de la technologie d'interface de données Guide d'utilisation de l'API Oracle : exploration de la technologie d'interface de données Mar 07, 2024 am 11:12 AM

Oracle est un fournisseur de systèmes de gestion de bases de données de renommée mondiale et son API (Application Programming Interface) est un outil puissant qui aide les développeurs à interagir et à s'intégrer facilement aux bases de données Oracle. Dans cet article, nous approfondirons le guide d'utilisation de l'API Oracle, montrerons aux lecteurs comment utiliser la technologie d'interface de données pendant le processus de développement et fournirons des exemples de code spécifiques. 1.Oracle

Analyse de la stratégie d'intégration des API Oracle : parvenir à une communication transparente entre les systèmes Analyse de la stratégie d'intégration des API Oracle : parvenir à une communication transparente entre les systèmes Mar 07, 2024 pm 10:09 PM

Analyse de la stratégie d'intégration de l'API Oracle : pour parvenir à une communication transparente entre les systèmes, des exemples de code spécifiques sont nécessaires. À l'ère numérique d'aujourd'hui, les systèmes internes de l'entreprise doivent communiquer entre eux et partager des données, et l'API Oracle est l'un des outils importants pour contribuer à une communication transparente. communication entre les systèmes. Cet article commencera par les concepts et principes de base d'OracleAPI, explorera les stratégies d'intégration d'API et enfin donnera des exemples de code spécifiques pour aider les lecteurs à mieux comprendre et appliquer OracleAPI. 1. API Oracle de base

Comment désactiver les cas de test dans Maven ? Comment désactiver les cas de test dans Maven ? Feb 26, 2024 am 09:57 AM

Maven est un outil de gestion de projet open source couramment utilisé pour des tâches telles que la construction, la gestion des dépendances et la publication de documents de projets Java. Lorsque nous utilisons Maven pour la construction d'un projet, nous souhaitons parfois ignorer la phase de test lors de l'exécution de commandes telles que mvnpackage, ce qui améliorera la vitesse de construction dans certains cas, en particulier lorsqu'un prototype ou un environnement de test doit être construit rapidement. Cet article détaillera comment ignorer la phase de test dans Maven, avec des exemples de code spécifiques. Pourquoi devriez-vous ignorer les tests Lors du développement d'un projet, il est souvent

See all articles