関連記事
GitHub - devlights/blog-summary: ブログ「いろいろ備忘録日記」のまとめ
概要
以下、自分用のメモです。忘れないうちにメモメモ。。。
以下のブログ記事から nalgeon/be というライブラリを知りました。
めっちゃシンプルで使いやすいですね。個人的にドンピシャなライブラリです。
こんな感じでシンプルなのが良いんですよ。それぞれがジェネリック対応となっているため、どのような型でもアサート出来るようになっています。
関数も
- Equal
- Err
- True
の3つだけです。
自分用に使い方のメモを残しておくことにしました。今回は Equal 関数。
サンプル
be_equal_test.go
package main import ( "testing" "github.com/nalgeon/be" ) func sum(x ...int) int64 { var ( total int64 ) for _, v := range x { total += int64(v) } return total } func TestBeEqual(t *testing.T) { t.Run("ok", func(t *testing.T) { be.Equal(t, sum(1, 2, 3), int64(6)) }) t.Run("ng", func(t *testing.T) { be.Equal(t, sum(1, 2, 3), int64(10)) }) t.Run("ok2", func(t *testing.T) { // wantsには複数指定できる。複数していした場合はどれかが合致すればOKとなる。 be.Equal(t, sum(1, 2, 3), int64(10), int64(6), int64(99)) }) }
実行例
$ task task: [default] go test -v === RUN TestBeEqual === RUN TestBeEqual/ok === RUN TestBeEqual/ng be_equal_test.go:25: want 10, got 6 === RUN TestBeEqual/ok2 --- FAIL: TestBeEqual (0.00s) --- PASS: TestBeEqual/ok (0.00s) --- FAIL: TestBeEqual/ng (0.00s) --- PASS: TestBeEqual/ok2 (0.00s) FAIL exit status 1 FAIL github.com/devlights/try-golang/examples/testing/be_library/equal 0.003s
参考情報
Goのおすすめ書籍
過去の記事については、以下のページからご参照下さい。
サンプルコードは、以下の場所で公開しています。





