首頁  >  文章  >  後端開發  >  分步驟解析GO項目test的寫法

分步驟解析GO項目test的寫法

藏色散人
藏色散人轉載
2021-09-12 16:39:161872瀏覽

本文由go語言教學專欄為大家介紹golang專案test的寫法,希望對需要的朋友有幫助!

golang專案test的寫法

  • #業務代碼
        package main
        
        import "fmt"
        
        func sum(a int,b int) int {
            return a+b
        }
        
        func main()  {
            fmt.Println("hello test")
        }
  • 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")
        }
    }
  • 每一個test檔案必須import一個testing.

  • #test檔案下每一個test case都必須以Test開頭並且符合TestXxx形式,否則go test會直接挑過測試不執行.

  • go test會自動尋找該目錄下的test檔, go test -v會詳細的顯示執行的過程

  • test case的入參數為t testing.T或b testing.B

  • t.Error為列印錯誤訊息,並當前test case會被跳過

  • t.SkipNow()為跳過test,並直接按PASS處理下一個test, 並必須寫在test case的第一行, 否則無效

  • go的test不會保證多個TestXxx是順序執行,但是通常會按順序執行, 為了,讓起順序執行,可以採用t.Run(name string, f func)來確保順序執行

  • TestMain(m *testing.M)作為初始化test,並使用m.Run()來呼叫其他tests可以完成一些需要初始化操作testing,例如資料庫連線,檔案開啟,REST服務登陸,如果沒有在testMain呼叫m.Run(),則除了TestMain以外其他test case都不會執行.

##更多golang相關知識,請造訪

golang教學欄位!

以上是分步驟解析GO項目test的寫法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:segmentfault.com。如有侵權,請聯絡admin@php.cn刪除