Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

テストは仕様を考えるツールなのかなあ?と思った話

519 views

Published on

チームでLTをしているのだけどその資料

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

テストは仕様を考えるツールなのかなあ?と思った話

  1. 1. ホスティング事業部 ムームードメイングループ 中野麻美 RSpec! テストは仕様を考えるツールなのかなあ?と思った話
  2. 2. 最近 PRレビューで
 RSpec をがっしりみるようにしてます👮 まえふり
  3. 3. 仕様がわかんない時に役に立つのがテスト!
 (実際に使用したときにどうなるか書いてるから) まえふり
  4. 4. 仕様を忘れた自分でもわかる まえふり
  5. 5. たぶん他の人でも仕様がわかる まえふり
  6. 6. いつか誰かが改修するとき
 誰がそのコードを書いたかに依存しないで取り組める まえふり
  7. 7. だから最近 PRレビューで
 RSpec をがっしりみるようにしてます👮 まえふり
  8. 8. 最近テスト書くときに
 気にしてること
  9. 9. テストの構造をすごく気にしていました 最近テスト書くときに気にしてること
  10. 10. 主要なところは網羅したい
 
 Aの時XXすること
 Bの時YYすること 最近テスト書くときに気にしてること
  11. 11. いつもどうやってテスト書いてたっけな? 最近テスト書くときに気にしてること
  12. 12. モデルのテストは実装前に
 コントローラは実装中に フィーチャーのテストは実装後に 最近テスト書くときに気にしてること
  13. 13. 本当はいつでも先にテストを書いてから実装したい
 (ゴールが定まっていると楽ちん) 最近テスト書くときに気にしてること
  14. 14. モデルのテストは実装前に
 コントローラは実装中に フィーチャーのテストは実装中に 最近テスト書くときに気にしてること
  15. 15. 最近はテストを必ず先に書く必要はないのかも〜
 と思っています 最近テスト書くときに気にしてること
  16. 16. テストを書くときはまず日本語で書いちゃう💡 最近テスト書くときに気にしてること
  17. 17. テストの構造をすごく気にしていました 最近テスト書くときに気にしてること
  18. 18. 例えばモデルだったら 最近テスト書くときに気にしてること
  19. 19. 日本語書きながら仕様を考える 最近テスト書くときに気にしてること describe User, type: :model do
 describe ‘#birthday?’ do context ‘誕生日のとき’ do it ‘true が返ること’ do end end context ‘誕生日じゃないとき’ do it ‘false が返ること’ do end end end
  20. 20. そこからテストを書いて 最近テスト書くときに気にしてること describe User, type: :model do let(:user) { FactoryGirl.create(…) }
 describe ‘#birthday?’ do
 subject { user.birthday? } context ‘誕生日のとき’ do it ‘true が返ること’ do is_expected.to be_truthy end end context ‘誕生日じゃないとき’ do …
  21. 21. 実装してテストを通していきます 最近テスト書くときに気にしてること class User do
 def birthday … end end
  22. 22. テストを書くときはまず日本語で書いちゃう💡 最近テスト書くときに気にしてること
  23. 23. テストの構造がわかりやすい! 最近テスト書くときに気にしてること
  24. 24. 仕様がわかんない時に役に立つ! 最近テスト書くときに気にしてること
  25. 25. ついでにゴールを明確にすることができて最高! 最近テスト書くときに気にしてること
  26. 26. もっと最高にしたい👍
  27. 27. そんな時のための RSpec の機能! もっと最高にしたい
  28. 28. describe or context ?
 shared_examples or shared_context ? もっと最高にしたい
  29. 29. この選択は仕様を考える時の
 ツールに近いんじゃないかなあ〜 もっと最高にしたい
  30. 30. 色々 RSpec ぽいことを覚えると
 どんどんテストが書きやすくなるし
 思考が整理されて仕様を考えるのが楽になる? もっと最高にしたい
  31. 31. 思考の武器を増やして
 わかりやすいテストに囲まれたい〜〜🍴 もっと最高にしたい
  32. 32. 使えるRSpec入門 がまとまってて最高です
 http://qiita.com/jnchito/items/42193d066bd61c740612 もっと最高にしたい

×