Maison >développement back-end >Golang >Analyse étape par étape de la façon d'écrire le test du projet GO

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

藏色散人
藏色散人avant
2021-09-12 16:39:161890parcourir

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")
        }
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")
            }
        }
    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!

    Déclaration:
    Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer