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
Assert First
Search
Hisashi Kamezawa
January 24, 2018
Programming
0
1.1k
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
釣り地図SNSにおける有料機能の実装
nokonoko1203
0
200
Amazon Verified Permissions実践入門 〜Cedar活用とAppSync導入事例/Practical Introduction to Amazon Verified Permissions
fossamagna
2
100
フロントエンド開発のためのブラウザ組み込みAI入門
masashi
7
3.6k
テーブル定義書の構造化抽出して、生成AIでDWH分析を試してみた / devio2025tokyo
kasacchiful
0
320
登壇は dynamic! な営みである / speech is dynamic
da1chi
0
390
「ちょっと古いから」って避けてた技術書、今だからこそ読もう
mottyzzz
12
7.2k
バッチ処理を「状態の記録」から「事実の記録」へ
panda728
PRO
0
200
マイベストのシンプルなデータ基盤の話 - Googleスイートとのつき合い方 / mybest-simple-data-architecture-google-nized
snhryt
0
100
技術的負債の正体を知って向き合う
irof
0
280
20251016_Rails News ~Rails 8.1の足音を聴く~
morimorihoge
3
860
CSC509 Lecture 07
javiergs
PRO
0
250
スマホから Youtube Shortsを見られないようにする
lemolatoon
27
34k
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
697
190k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
2.9k
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
What's in a price? How to price your products and services
michaelherold
246
12k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.7k
It's Worth the Effort
3n
187
28k
Into the Great Unknown - MozCon
thekraken
40
2.1k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
640
The Illustrated Children's Guide to Kubernetes
chrisshort
49
51k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
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 による恩恵 思考が整理され、問題をシンプルに捉えることができる → 複雑なテストを書くときに良さそう → 逆に簡潔に書けるテストや既存のテストに似たテストに無理に使う必要はない
ご清聴ありがとうございました