ホームページ > バックエンド開発 > Golang > Golang 単体テストのアサーションに gomega を使用するにはどうすればよいですか?

Golang 単体テストのアサーションに gomega を使用するにはどうすればよいですか?

王林
リリース: 2024-06-05 22:48:59
オリジナル
749 人が閲覧しました

如何在 Golang 单元测试中使用 gomega 进行断言?

Golang 単体テストでアサーションに Gomega を使用する方法

Golang 単体テストでは、Gomega は、開発者がテスト結果を簡単に検証できるように、豊富なアサーション メソッドを提供する人気のある強力なアサーション ライブラリです。

Gomega をインストールする

go get -u github.com/onsi/gomega
ログイン後にコピー

アサーションに Gomega を使用する
アサーションに Gomega を使用する一般的な例をいくつか示します:

1. 等価アサーション

import "github.com/onsi/gomega"

func Test_MyFunction(t *testing.T) {
    gomega.RegisterTestingT(t)

    actual := MyFunction()
    gomega.Expect(actual).To(gomega.Equal(5))
}
ログイン後にコピー

2.

3 .真実の主張

import "github.com/onsi/gomega"

func Test_MyFunction(t *testing.T) {
    gomega.RegisterTestingT(t)

    actual := MyFunction()
    gomega.Expect(actual).NotTo(gomega.Equal(5))
}
ログイン後にコピー

4. ポインタの等価性の主張

import "github.com/onsi/gomega"

func Test_MyFunction(t *testing.T) {
    gomega.RegisterTestingT(t)

    actual := MyFunction()
    gomega.Expect(actual).To(gomega.BeTrue())
}
ログイン後にコピー

5. 失敗の主張

import "github.com/onsi/gomega"

func Test_MyFunction(t *testing.T) {
    gomega.RegisterTestingT(t)

    actual := &MyStruct{}
    expected := &MyStruct{}
    gomega.Expect(actual).To(gomega.PointTo(expected))
}
ログイン後にコピー

2つの数値の合計を計算する関数

があるとします。 Gomega を使用して次の単体テストを作成できます:

import "github.com/onsi/gomega"

func Test_MyFunction(t *testing.T) {
    gomega.RegisterTestingT(t)

    actual := MyFunction()
    gomega.Expect(actual).To(gomega.Equal(6), "Unexpected value")
}
ログイン後にコピー
Gomega を使用すると、テスト結果を簡単に検証し、単体テストの信頼性を向上させることができます。

以上がGolang 単体テストのアサーションに gomega を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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