ホームページ > バックエンド開発 > Golang > 単体テストに Go 標準ライブラリを使用する方法

単体テストに Go 標準ライブラリを使用する方法

王林
リリース: 2024-04-30 18:39:02
オリジナル
412 人が閲覧しました

Go 標準ライブラリは、_test.go ファイルを作成してテスト関数を記述するだけで、テスト パッケージを通じて単体テスト機能を提供します。テスト関数は、AssertEqual や AssertTrue などのアサーション関数を使用して、期待される結果と実際の結果を比較します。テストが成功したか失敗したかに関する情報は、go test コマンドで表示されます。

如何使用 Go 标准库进行单元测试

Go 標準ライブラリを単体テストに使用する方法

Go 標準ライブラリには、豊富な機能を提供する testing パッケージが用意されています単体テストの作成と実行用。この記事では、testing パッケージを使用して Go コードをテストする方法を説明します。

単体テストのセットアップ

Go プログラムの単体テストをセットアップするには、次の手順に従います。

  1. ## という名前のファイルをルート ディレクトリに作成します。プロジェクト #your_package_name_test.go ファイル。
  2. インポート
  3. testing パッケージ:
  4. import "testing"
    ログイン後にコピー
テスト関数の記述

各単体テストは

func TestX という名前の独立した関数として記述されます(t *testing.T)。 #XX はテスト ケースの名前、t*testing.T 型のポインターであり、テストの実行、結果のレポート、およびレポートの関数を提供します。エラーのロギング方法。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:go;toolbar:false;'>func TestPassingTest(t *testing.T) { // 测试用例的代码... }</pre><div class="contentsignin">ログイン後にコピー</div></div>Assertions

testing

このパッケージには、テスト結果を期待値と比較するためのさまざまなアサーション関数が用意されています。一般的に使用されるアサーション関数は次のとおりです。

    AssertEqual(t, Expected,actual)
  • : expectedactual が等しいかどうかを確認します
  • AssertNotEqual(t, value1, value2)
  • : value1value2 が等しくないかどうかを確認します。
  • AssertTrue (t ,condition)
  • : 条件 condition が true であることをアサートします。
  • AssertFalse(t,condition)
  • : 条件 condition が false であることをアサートします。
  • 実践的なケース

2 つの数値の合計を計算する関数の単体テストを作成してみましょう。

package my_package

import (
    "testing"
)

func Sum(a, b int) int {
    return a + b
}
ログイン後にコピー

単体テスト

import (
    "testing"

    "my_package"
)

func TestSum(t *testing.T) {
    tests := []struct {
        a        int
        b        int
        expected int
    }{
        {1, 2, 3},
        {5, 7, 12},
    }

    for _, tc := range tests {
        result := my_package.Sum(tc.a, tc.b)
        if result != tc.expected {
            t.Errorf("Sum(%d, %d) returned %d, expected %d", tc.a, tc.b, result, tc.expected)
        }
    }
}
ログイン後にコピー
単体テストでは、入力値を含むタイプ

[]struct

のテスト ケースのリストを作成します。そして期待される出力。ループを使用してテスト ケースを繰り返し、各ケースで AssertEqual アサーションを使用して、計算結果が期待される結果と一致していることを確認します。 単体テストの実行

単体テストを実行するには、コマンド ラインで次のコマンドを実行できます。

go test
ログイン後にコピー

プロジェクト ディレクトリ内のすべての ## が検索され、そのサブディレクトリ #_test.go

ファイルを開き、その中でテストを実行します。テストが正常に実行された場合は緑色の合格メッセージが表示され、テストが失敗した場合は赤色のエラー メッセージが表示されます。

以上が単体テストに Go 標準ライブラリを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート