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
54
Go のテストで失敗をマークする
https://moneyforward.connpass.com/event/313929/
での登壇資料です。
Kotaro Otaka
June 07, 2024
Tweet
Share
More Decks by Kotaro Otaka
See All by Kotaro Otaka
cmp.Or に感動した
otakakot
2
150
net/http/httptest が推しです♡
otakakot
3
110
無料で楽しむ Go サーバー開発のススメ
otakakot
9
2.8k
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1030
460k
How STYLIGHT went responsive
nonsquared
95
5.2k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Rails Girls Zürich Keynote
gr2m
94
13k
Automating Front-end Workflow
addyosmani
1366
200k
A Philosophy of Restraint
colly
203
16k
A Modern Web Designer's Workflow
chriscoyier
693
190k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
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