ホームページ  >  記事  >  バックエンド開発  >  GO プロジェクトのテストの書き方を段階的に分析

GO プロジェクトのテストの書き方を段階的に分析

藏色散人
藏色散人転載
2021-09-12 16:39:161861ブラウズ

この記事は、go language チュートリアル コラムで golang プロジェクトのテストの書き方を紹介するもので、困っている友達のお役に立てれば幸いです。

golang プロジェクト テストの書き方

  • ビジネス コード
        package main
        
        import "fmt"
        
        func sum(a int,b int) int {
            return a+b
        }
        
        func main()  {
            fmt.Println("hello 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 で始まり、TestXxx に準拠する必要があります。それ以外の場合、 go test はテストを直接選択し、実行しません。

  • go test はディレクトリ内でテスト ファイルを自動的に検索します。 go test -v は実行プロセスを表示します。詳細

  • テスト ケースの入力パラメーターは t testing.T または b testing.B

  • t.Error です。エラー情報を出力し、現在のテスト ケースはスキップされます

  • t.SkipNow() は、テストをスキップし、PASS を直接押して次のテストを処理することを意味し、次のテストに書き込む必要があります。テスト ケースの最初の行、それ以外の場合は無効です

  • go のテストでは、複数の TestXxx が順番に実行されることは保証されませんが、通常は順番に実行されます。 t.Run(name string, f func) を使用して順次実行を保証できます。

  • TestMain(m *testing.M) を初期化テストとして実行し、m.Run() を使用して呼び出します。データベース接続、ファイルを開く、REST サービスへのログインなど、初期化操作を必要とする一部のテストを完了するための他のテスト、testMain で m.Run() が呼び出されない場合、TestMain 以外の他のテスト ケースは実行されません。

#Golang 関連の知識については、

golangチュートリアル列をご覧ください!

以上がGO プロジェクトのテストの書き方を段階的に分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。