Maison > développement back-end > Golang > le corps du texte

Analyse étape par étape de la façon d'écrire le test du projet GO

藏色散人
Libérer: 2021-09-12 16:39:57
avant
1871 Les gens l'ont consulté

Cet article est introduit par la colonne tutoriel go language pour présenter comment rédiger un test de projet golang. J'espère qu'il sera utile aux amis dans le besoin ! Projet TGolang Ecriture du test

code métier
        package main
        
        import "fmt"
        
        func sum(a int,b int) int {
            return a+b
        }
        
        func main()  {
            fmt.Println("hello test")
        }
Copier après la connexion
E
  • TEST scénario de test
        package main
        
        import (
            "fmt"
            "testing"
        )
        
        func TestSum(t *testing.T)  {
            var a = 3
            var b =4
            res :=sum(a,b)
            fmt.Printf("%d 与%d之和:为%d",a,b,res)
            if res != 7{
                t.Error("error")
            }
        }
    Copier après la connexion
    E
  • Chaque fichier de test doit être IMPORT un cas de test sous chaque cas de test Il doit commencer par Test et être conforme au format TestXxx, sinon go test sélectionnera directement le test et ne l'exécutera pas
    • go test recherchera automatiquement le fichier de test dans ce répertoire, go test -v affichera le processus d'exécution en détail
    • Le paramètre d'entrée du le scénario de test est t
    • testing.T ou b
    • testing.B

    • t.Error consiste à imprimer le message d'erreur, et le scénario de test en cours sera ignoré

      t.SkipNow() consiste à ignorer le test, et appuyez directement sur PASS pour traiter le test suivant, et doit être écrit dans la première ligne du cas de test, sinon il sera invalide. Le test de
    • go ne garantit pas que plusieurs TestXxx sont exécutés dans l'ordre, mais ils le sont généralement. exécuté dans l'ordre. Pour activer l'exécution séquentielle, vous pouvez utiliser t.Run(name string, f func) pour garantir l'exécution séquentielle
    • TestMain(m *testing.M) comme test d'initialisation, et utiliser m.Run() pour appeler d'autres tests pour terminer Certains tests nécessitent des opérations d'initialisation, telles que la connexion à la base de données, l'ouverture de fichiers et la connexion au service REST. Si m.Run() n'est pas appelé dans testMain, les autres cas de test, à l'exception de TestMain, ne seront pas exécutés.
    • Plus de connaissances sur le golang, veuillez visiter la colonne
    • golang

    • tutoriel !
  • 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!

    Étiquettes associées:
    source:segmentfault.com
    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
    Tutoriels populaires
    Plus>
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal