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
57
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
89
cmp.Or に感動した
otakakot
3
370
net/http/httptest が推しです♡
otakakot
3
110
無料で楽しむ Go サーバー開発のススメ
otakakot
10
2.9k
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
520
39k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Practical Orchestrator
shlominoach
186
10k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Fireside Chat
paigeccino
34
3.1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
The Invisible Side of Design
smashingmag
298
50k
Become a Pro
speakerdeck
PRO
26
5k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Gamification - CAS2011
davidbonilla
80
5.1k
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
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