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

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

藏色散人
リリース: 2021-09-12 16:39:57
転載
1898 人が閲覧しました

この記事は、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 までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート