Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Go のテストで失敗をマークする
Search
Kotaro Otaka
June 07, 2024
0
120
Go のテストで失敗をマークする
https://moneyforward.connpass.com/event/313929/
での登壇資料です。
Kotaro Otaka
June 07, 2024
Tweet
Share
More Decks by Kotaro Otaka
See All by Kotaro Otaka
Wasm わからないけど Go で実装したいから入門する
otakakot
1
150
cmp.Or に感動した
otakakot
3
470
net/http/httptest が推しです♡
otakakot
3
180
無料で楽しむ Go サーバー開発のススメ
otakakot
10
3k
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.5k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
570
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Into the Great Unknown - MozCon
thekraken
34
1.6k
A Tale of Four Properties
chriscoyier
157
23k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
Statistics for Hackers
jakevdp
797
220k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
960
Fireside Chat
paigeccino
34
3.1k
Raft: Consensus for Rubyists
vanstee
137
6.7k
How to Ace a Technical Interview
jacobian
276
23k
Transcript
Go のテストで 失敗をマークする おーたかこーたろー / @otakakot The Go gopher was
designed by Renée French. The icon was designed by @avocadoneko. (Unofficial)Go Conference 2024 Pre Party 2024.06.07
bio Web Engineer 新卒入社 2020 年 4 月 ~ Hello
Golang ! 2021 年 4 月~ @otakakot @otakakot Web Engineer 株式会社ビットキー 2022 年 11 月 ~ Kotaro Otaka / 大高 浩太郎 The Go gopher was designed by Renée French. The icon was designed by @avocadoneko.
テストで error が発生したとき t.Error() t.Fatal() t.Fail() t.Errorf() t.Fatalf() t.FailNow()
自信を持って 失敗をマークできる!
エラー発生時に使えそうなメソッドたち ※ testing パッケージからそれっぽいメソッドを抜粋 ※ Go のバージョンは 1.22.4 を参照
使い分けるメソッドは2種類 ※ testing パッケージからそれっぽいメソッドを抜粋 ※ Go のバージョンは 1.22.4 を参照
組み合わせでできている
Log() と Logf()
Error() と Errorf() Log() Logf()
Fatal() と Fatalf() Log() Logf()
Error 系が呼び出す Fail メソッド
Fatal 系が呼び出す FailNow メソッド Reference: 【Golang】Exit, panic, Goexitの違い
エラーが発生しても、テストは継続 エラーが発生したら、テストは終了 こう使い分けよう
例えば ... Error(f) 結果と期待値の比較の失敗 Fatal(f) テストデータの準備の失敗 mock の構築の失敗
まとめ 失敗に関係しそうなメソッドを紹介 使うメソッドは2種類 失敗をマークするメソッドは組み合わせ t.Log(f) は内包 メソッドの使い分け Reference:Testing in Go:
Failing Tests Reference:testing package