Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Assert First
Search
Hisashi Kamezawa
January 24, 2018
Programming
0
1.2k
Assert First
Hisashi Kamezawa
January 24, 2018
Tweet
Share
More Decks by Hisashi Kamezawa
See All by Hisashi Kamezawa
What we learned from code review
hisas
7
1.9k
Other Decks in Programming
See All in Programming
Phronetic Team with AI - Agile Japan 2025 closing
hiranabe
2
700
AI時代もSEOを頑張っている話
shirahama_x
0
190
251126 TestState APIってなんだっけ?Step Functionsテストどう変わる?
east_takumi
0
270
Microservices Platforms: When Team Topologies Meets Microservices Patterns
cer
PRO
1
670
最新のDirectX12で使えるレイトレ周りの機能追加について
projectasura
0
310
20251127_ぼっちのための懇親会対策会議
kokamoto01_metaps
2
220
複数人でのCLI/Infrastructure as Codeの暮らしを良くする
shmokmt
4
1.2k
TypeScriptで設計する 堅牢さとUXを両立した非同期ワークフローの実現
moeka__c
5
2.7k
Honoを技術選定したAI要件定義プラットフォームAcsimでの意思決定
codenote
0
280
JJUG CCC 2025 Fall: Virtual Thread Deep Dive
ternbusty
3
500
CSC305 Lecture 15
javiergs
PRO
0
210
モビリティSaaSにおけるデータ利活用の発展
nealle
1
660
Featured
See All Featured
Building Applications with DynamoDB
mza
96
6.8k
The Language of Interfaces
destraynor
162
25k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
The Pragmatic Product Professional
lauravandoore
36
7k
Raft: Consensus for Rubyists
vanstee
140
7.2k
How to Think Like a Performance Engineer
csswizardry
28
2.3k
Typedesign – Prime Four
hannesfritz
42
2.9k
GitHub's CSS Performance
jonrohan
1032
470k
A Tale of Four Properties
chriscoyier
162
23k
Building an army of robots
kneath
306
46k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Transcript
Assert First 亀澤尚志 (@hisas) 2018/01/24
自己紹介 - 亀澤尚志 (Kamezawa Hisashi) - @hisas - 2017年度入社新卒 -
フィヨルドインターン卒 - Ginza.rbにたまに出没
本日お話しすること - Assert First との出会い - Assert First とは? -
Assert First をオススメする理由
本日お話しすること - Assert First との出会い - Assert First とは? -
Assert First をオススメする理由
None
None
None
None
ペアプロでやったこと ① 要件定義 ユーザー検索を名前のあいまい検索で実装 ② TODO リストの作成
ペアプロでやったこと ③ テストを書く - 何が達成されていれば良いかをまず考えるため最後の行から埋めていく - RSpecでは visit から入るのではなく expect
から書くイメージ ④ 機能を実装
本日お話しすること - Assert First との出会い - Assert First とは? -
Assert First をオススメする理由
アサーションを最初に書こう
いつアサーションを書くべきだろうか——最初に書こう - システム構築はどこから始めるべきだろうか。システム構築が終わったらこうなる、 というストーリーを語るところからだ。 - 機能はどこから書き始めるべきだろうか。コードが書き終わったらこのように動く、と いうテストを書くところからだ。 - ではテストはどこから書き始めるべきだろうか。それはテストの終わりにパスすべき アサーションを書くところからだ。
参考文献 Kent Beck 著 和田卓人 訳(2017) 「テスト駆動開発」
本日お話しすること - Assert First との出会い - Assert First とは? -
Assert First をオススメする理由
Assert First による恩恵 思考が整理され、問題をシンプルに捉えることができる → 複雑なテストを書くときに良さそう → 逆に簡潔に書けるテストや既存のテストに似たテストに無理に使う必要はない
ご清聴ありがとうございました