Slide 1

Slide 1 text

Assert First 亀澤尚志 (@hisas) 2018/01/24

Slide 2

Slide 2 text

自己紹介 - 亀澤尚志 (Kamezawa Hisashi) - @hisas - 2017年度入社新卒 - フィヨルドインターン卒 - Ginza.rbにたまに出没

Slide 3

Slide 3 text

本日お話しすること - Assert First との出会い - Assert First とは? - Assert First をオススメする理由

Slide 4

Slide 4 text

本日お話しすること - Assert First との出会い - Assert First とは? - Assert First をオススメする理由

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

ペアプロでやったこと ① 要件定義 ユーザー検索を名前のあいまい検索で実装 ② TODO リストの作成

Slide 10

Slide 10 text

ペアプロでやったこと ③ テストを書く - 何が達成されていれば良いかをまず考えるため最後の行から埋めていく - RSpecでは visit から入るのではなく expect から書くイメージ ④ 機能を実装

Slide 11

Slide 11 text

本日お話しすること - Assert First との出会い - Assert First とは? - Assert First をオススメする理由

Slide 12

Slide 12 text

アサーションを最初に書こう

Slide 13

Slide 13 text

いつアサーションを書くべきだろうか——最初に書こう - システム構築はどこから始めるべきだろうか。システム構築が終わったらこうなる、 というストーリーを語るところからだ。 - 機能はどこから書き始めるべきだろうか。コードが書き終わったらこのように動く、と いうテストを書くところからだ。 - ではテストはどこから書き始めるべきだろうか。それはテストの終わりにパスすべき アサーションを書くところからだ。 参考文献 Kent Beck 著 和田卓人 訳(2017) 「テスト駆動開発」

Slide 14

Slide 14 text

本日お話しすること - Assert First との出会い - Assert First とは? - Assert First をオススメする理由

Slide 15

Slide 15 text

Assert First による恩恵 思考が整理され、問題をシンプルに捉えることができる → 複雑なテストを書くときに良さそう → 逆に簡潔に書けるテストや既存のテストに似たテストに無理に使う必要はない

Slide 16

Slide 16 text

ご清聴ありがとうございました