Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Assert First
Search
Hisashi Kamezawa
January 24, 2018
Programming
1.3k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Assert First
Hisashi Kamezawa
January 24, 2018
More Decks by Hisashi Kamezawa
See All by Hisashi Kamezawa
What we learned from code review
hisas
7
2k
Other Decks in Programming
See All in Programming
[2026-10-09]一枚の布で作らなくてもいい。 信頼性は「パッチワーク」で紡がれる~既存の運用と新しい可能性をつなぎ合わせてきたCREの話~
tosite
0
110
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
330
Long Living Tokens, Die, Die, Die! (or: The One Ring is Banned in Modern)
sylph01
0
370
Agentic Software Factoryに、すごく賢いIF文を。 / super smart IF statement into the Agentic Software Factory.
rkaga
8
2.4k
graphql-ruby を Spinel で速くしようとした話
mtsmfm
0
120
Next.js: The final boss of Web Performance
guaca
0
340
作れる、でも消せるか?──安全に「枯らして消す」機能削除術 / Drain, Then Delete
chobishiba
2
1k
あなたの await、OS まで届いてる? strace で覗く JavaScript の非同期
hasutosasaki
1
1.5k
最近”作らせてる” ローカルAIアプリの話
akit37
0
500
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
160
残高管理から台帳サービスへの進化
artoy
1
210
우리의 Nitro Modules는 당신의 Turbo Modules보다 아름답다
l2hyunwoo
0
220
Featured
See All Featured
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
4
4.4k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
590
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.8k
BBQ
matthewcrist
90
10k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
540
Building AI with AI
inesmontani
PRO
1
1.3k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
500
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
1k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7.1k
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 による恩恵 思考が整理され、問題をシンプルに捉えることができる → 複雑なテストを書くときに良さそう → 逆に簡潔に書けるテストや既存のテストに似たテストに無理に使う必要はない
ご清聴ありがとうございました