Go 関数の単体テストにアサーション ライブラリを使用する方法

PHPz
リリース: 2024-05-02 16:51:02
オリジナル
1092 人が閲覧しました

Go 単体テストでは、testify/assert アサーション ライブラリを使用して結果の検証を簡素化します。 具体的な手順は次のとおりです。 Assert ライブラリをインストールします。テストプログラムを作成し、テストする機能を含めます。テスト関数で Equal アサーションを使用して、予想される動作を検証します。アサーションをさらに追加して、さまざまなテスト シナリオを検証します。

如何使用断言库进行 Go 函数单元测试

Go 関数単体テストでアサーション ライブラリを使用する方法

Go で単体テストを行う場合、アサーション ライブラリは非常に便利です。テスト結果の検証がシンプルかつ簡単になります。この記事では、testify/assert という一般的なアサーション ライブラリを使用して Go 関数をテストする方法を説明します。

1. アサーション ライブラリをインストールします

次のコマンドを使用して testify/assert をインストールします:

go get github.com/stretchr/testify/assert
ログイン後にコピー

2. テスト プログラムの作成

テスト対象の関数を含む test.go ファイルを作成します:

package yourpackage

import (
    "testing"

    "github.com/stretchr/testify/assert"
)

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

3。テストでアサーションを使用します。 function

assert パッケージの Equal アサーションを使用して、関数の予期される動作を確認します:

func TestSum(t *testing.T) {
    result := Sum(1, 2)
    assert.Equal(t, 3, result, "Sum(1, 2) should be 3")
}
ログイン後にコピー

4さらにアサーションを追加します

さまざまなアサーションを使用して、複数のテスト状況を検証できます:

  • Equal: 2 つの値が等しいことを検証します。
  • NotEqual: 2 つの値が等しくないことを検証します。
  • True: ブール値が true であることを検証します。
  • False: ブール値が false であることを検証します。
  • NotNil: ポインターまたは値が nil ではないことを検証します。

実際的なケース:

文字列の長さを計算する関数をテストします:

func TestStringLength(t *testing.T) {
    result := StringLength("hello")
    assert.Equal(t, 5, result, "StringLength(\"hello\") should be 5")
}
ログイン後にコピー

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

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