SlideShare a Scribd company logo
RSpec初心者に送る
RSpec最強チュートリアル
株式会社ソニックガーデン
伊藤 淳一
SonicGarden Study #08
エンジニア募集中!
http://sonicgarden.jp
自己紹介
About me
伊藤 淳一
Twitter: @jnchito
Blog: give IT a try
Lives in 西脇市
西脇市???
僕は今ココにいます。
神戸の北西約50km
Wikipedia
リモートで働いてます
窓の外はこんな感じ
毎月Ruby勉強会も
やってます!
西脇.rb & 東 .rb
nishiwaki-higashinadarb.doorkeeper.jp
みなさんは今どこで
観ていますか?
#sg_study を付けてツイート!
SonicGarden Study?
• SonicGardenが主催するIT勉強会
• USTで役立つ技術情報をライブ配信
• 世界中どこからでも参加可能!
• 質問はTwitterから => #sg_study
本日のテーマ
RSpec × Rails
RSpecでRailsをテストしたい!
・・・でもどうすれば?
モデルのテストなら書ける!
(でもそれ以上は聞かないで)
そんなRSpec初心者or未経験者
のために・・・
https://www.flickr.com/photos/wileycox/3036177238/
魚を与えるのではなく
魚の釣り方を覚える
初心者を脱し、中級者以上に
なるための道筋を示します
使用する教材
• Everyday Rails 第3章 (サンプルページ)
• GitHub上のサンプルアプリケーション
http://sonicgarden.doorkeeper.jp/events/9696
rbenv Tips
• rbenv-aliasesを入れておくと便利かも
• github.com/tpope/rbenv-aliases
説明の流れ
• Everyday Rails第3章ライブコーディング
• 第4章以降の概要説明
• RSpec習得の極意
• Q&A
• 質問は随時受付 #sg_study
ライブコーディング
開始
動画を見たい人は
メンバー登録してね!
こちらでお願いします
sonicgarden.doorkeeper.jp
ライブコーディング
終了
第4章以降は?
• 第4章 Factory Girlでテストデータ作成
• 第5章 コントローラスペックの基礎
• 第6章 コントローラでロールをテスト
• 第7章 Shared Example等でリファクタ
第4章以降は?
• 第8章 フィーチャスペックで統合テスト
• 第9章 let、subject、モック、Guard等
• 第10章 メール送信、日時関連のテスト
• 第11章 テスト駆動開発(TDD)のデモ
• 第12章 筆者からのアドバイス
RSpec習得の極意
本日のテーマ(おさらい)
• 魚を与えるのではなく、

魚の釣り方を覚える
• 初心者を脱し、中級者以上になる

ための道筋を示す
その道筋とは?
• 本やWeb記事を読むだけではダメ!
• 自分の手と頭も必ず動かす
• 自分のアプリでもテストを書く
• 壁にぶつかる → 調べる・考える

→ 解決する → 身につく
具体的に何をすれば?
Why Everyday Rails?
• 動くサンプルアプリが提供されている
• RSpecを書くことだけに集中できる
• 好きな章/ブランチから着手できる
つまり、手と頭を動かして
学習するのに最適!
さらに
• あくまでRailsのテストに特化
• 実務ですぐ使える実践的な内容
• 最新版のフレームワークに追従
• 著者や翻訳者に質問や意見も送れる
よって最強チュートリアル!
書評
Railsに慣れて、テストを意識し始めた人には

絶対読んでほしい一冊。
本書のように体系立って読める資料があれば、
最初のハードルも一気に下がるはず。
僕自身も目から鱗な情報がたくさんあった。
- SonicGarden Eさん-
魚の釣り方、覚えましたか?
Q&A
#sg_study で受付中!
次回予告
次回はなんと
みなさんに決めて
もらいます!
どれがいいですか?
• node.js入門
• AngularJS入門
• AWS OpsWorks入門
• SG式Rails超入門
• #sg_study でツイートしてください!
Thank you.
leanpub.com/everydayrailsrspec-jp
「RSpec初心者に送るRSpec最強チュートリアル」発表資料 #sg_study

More Related Content

What's hot

Java one 2013 sf 報告会lt
Java one 2013 sf 報告会ltJava one 2013 sf 報告会lt
Java one 2013 sf 報告会lt
torutk
 

What's hot (11)

セキュリティ実践講座 -優しい愛をあなたに-
セキュリティ実践講座 -優しい愛をあなたに-セキュリティ実践講座 -優しい愛をあなたに-
セキュリティ実践講座 -優しい愛をあなたに-
 
簡単ログ解析ハンズオン

簡単ログ解析ハンズオン
簡単ログ解析ハンズオン

簡単ログ解析ハンズオン

 
「仙台ミラソン」行って来た
「仙台ミラソン」行って来た「仙台ミラソン」行って来た
「仙台ミラソン」行って来た
 
Scala.js
Scala.jsScala.js
Scala.js
 
私が見てきたあるセカイの物語 Part I & II
私が見てきたあるセカイの物語 Part I & II私が見てきたあるセカイの物語 Part I & II
私が見てきたあるセカイの物語 Part I & II
 
from_beginner_to_engineer
from_beginner_to_engineerfrom_beginner_to_engineer
from_beginner_to_engineer
 
IT業界における伝統芸能の継承 #hachiojipm
IT業界における伝統芸能の継承 #hachiojipmIT業界における伝統芸能の継承 #hachiojipm
IT業界における伝統芸能の継承 #hachiojipm
 
コンテナー型仮想環境の情報交換会
コンテナー型仮想環境の情報交換会コンテナー型仮想環境の情報交換会
コンテナー型仮想環境の情報交換会
 
RStudioでRをはじめよう(R for Beginner using RStudio)
RStudioでRをはじめよう(R for Beginner using RStudio)RStudioでRをはじめよう(R for Beginner using RStudio)
RStudioでRをはじめよう(R for Beginner using RStudio)
 
Java one 2013 sf 報告会lt
Java one 2013 sf 報告会ltJava one 2013 sf 報告会lt
Java one 2013 sf 報告会lt
 
サウンドの方へのGGJ紹介
サウンドの方へのGGJ紹介サウンドの方へのGGJ紹介
サウンドの方へのGGJ紹介
 

Similar to 「RSpec初心者に送るRSpec最強チュートリアル」発表資料 #sg_study

Raspberry Piの最新利用事例を拾い見たりたりしてみましょう(☝ ՞ਊ ՞)☝
Raspberry Piの最新利用事例を拾い見たりたりしてみましょう(☝ ՞ਊ ՞)☝Raspberry Piの最新利用事例を拾い見たりたりしてみましょう(☝ ՞ਊ ՞)☝
Raspberry Piの最新利用事例を拾い見たりたりしてみましょう(☝ ՞ਊ ՞)☝
Akira Ouchi
 
第一回テクニカルアーティストラウンドテーブル・セッション
第一回テクニカルアーティストラウンドテーブル・セッション第一回テクニカルアーティストラウンドテーブル・セッション
第一回テクニカルアーティストラウンドテーブル・セッション
fumoto kazuhiro
 
メモリアロケーションからみた拡張ライブラリに大切なこと
メモリアロケーションからみた拡張ライブラリに大切なことメモリアロケーションからみた拡張ライブラリに大切なこと
メモリアロケーションからみた拡張ライブラリに大切なこと
Masaya TARUI
 

Similar to 「RSpec初心者に送るRSpec最強チュートリアル」発表資料 #sg_study (20)

CodeIQベストコード発表会 #sg_study
CodeIQベストコード発表会 #sg_studyCodeIQベストコード発表会 #sg_study
CodeIQベストコード発表会 #sg_study
 
Twilio+rails+sms #sg_study
Twilio+rails+sms #sg_studyTwilio+rails+sms #sg_study
Twilio+rails+sms #sg_study
 
2019/09/15 大阪Ruby会議02 Keynote
2019/09/15 大阪Ruby会議02 Keynote2019/09/15 大阪Ruby会議02 Keynote
2019/09/15 大阪Ruby会議02 Keynote
 
アジャイルサムライ他流試合 - 道場紹介
アジャイルサムライ他流試合 - 道場紹介アジャイルサムライ他流試合 - 道場紹介
アジャイルサムライ他流試合 - 道場紹介
 
なぜ私はソニックガーデンのプログラマに転身できたのか?(Short ver.)
なぜ私はソニックガーデンのプログラマに転身できたのか?(Short ver.)なぜ私はソニックガーデンのプログラマに転身できたのか?(Short ver.)
なぜ私はソニックガーデンのプログラマに転身できたのか?(Short ver.)
 
木曜日は井戸端会議です。(BrigadeMeetup@金沢)
木曜日は井戸端会議です。(BrigadeMeetup@金沢)木曜日は井戸端会議です。(BrigadeMeetup@金沢)
木曜日は井戸端会議です。(BrigadeMeetup@金沢)
 
Swift Scriptingのすゝめ
Swift ScriptingのすゝめSwift Scriptingのすゝめ
Swift Scriptingのすゝめ
 
クソアプリ作った
クソアプリ作ったクソアプリ作った
クソアプリ作った
 
Raspberry Piの最新利用事例を拾い見たりたりしてみましょう(☝ ՞ਊ ՞)☝
Raspberry Piの最新利用事例を拾い見たりたりしてみましょう(☝ ՞ਊ ՞)☝Raspberry Piの最新利用事例を拾い見たりたりしてみましょう(☝ ՞ਊ ՞)☝
Raspberry Piの最新利用事例を拾い見たりたりしてみましょう(☝ ՞ਊ ՞)☝
 
俺のZabbixがこんなに可愛いわけがない~北海道巡業編~
俺のZabbixがこんなに可愛いわけがない~北海道巡業編~俺のZabbixがこんなに可愛いわけがない~北海道巡業編~
俺のZabbixがこんなに可愛いわけがない~北海道巡業編~
 
セキュリティ&プログラミングキャンプ2009参加レポート (PDF版)
セキュリティ&プログラミングキャンプ2009参加レポート (PDF版)セキュリティ&プログラミングキャンプ2009参加レポート (PDF版)
セキュリティ&プログラミングキャンプ2009参加レポート (PDF版)
 
なぜ私はソニックガーデンのプログラマに転身できたのか?
なぜ私はソニックガーデンのプログラマに転身できたのか? なぜ私はソニックガーデンのプログラマに転身できたのか?
なぜ私はソニックガーデンのプログラマに転身できたのか?
 
第一回テクニカルアーティストラウンドテーブル・セッション
第一回テクニカルアーティストラウンドテーブル・セッション第一回テクニカルアーティストラウンドテーブル・セッション
第一回テクニカルアーティストラウンドテーブル・セッション
 
個人事業者でも活用できるkintone
個人事業者でも活用できるkintone個人事業者でも活用できるkintone
個人事業者でも活用できるkintone
 
Eight×kintone 【Eightの名刺データをkintoneで活用してみよう!】
Eight×kintone 【Eightの名刺データをkintoneで活用してみよう!】Eight×kintone 【Eightの名刺データをkintoneで活用してみよう!】
Eight×kintone 【Eightの名刺データをkintoneで活用してみよう!】
 
RubySeminar16_Analyze
RubySeminar16_AnalyzeRubySeminar16_Analyze
RubySeminar16_Analyze
 
WebSig冬期講習2020 開校資料
WebSig冬期講習2020 開校資料WebSig冬期講習2020 開校資料
WebSig冬期講習2020 開校資料
 
ソフトの終わりは、技術の終わり?
ソフトの終わりは、技術の終わり?ソフトの終わりは、技術の終わり?
ソフトの終わりは、技術の終わり?
 
知識から反射へ
知識から反射へ知識から反射へ
知識から反射へ
 
メモリアロケーションからみた拡張ライブラリに大切なこと
メモリアロケーションからみた拡張ライブラリに大切なことメモリアロケーションからみた拡張ライブラリに大切なこと
メモリアロケーションからみた拡張ライブラリに大切なこと
 

More from Junichi Ito

More from Junichi Ito (7)

起業するっておもしろい!~子育て中の主婦が突然パン屋を始めました~
起業するっておもしろい!~子育て中の主婦が突然パン屋を始めました~起業するっておもしろい!~子育て中の主婦が突然パン屋を始めました~
起業するっておもしろい!~子育て中の主婦が突然パン屋を始めました~
 
About Nishiwaki.rb and Kobe.rb
About Nishiwaki.rb and Kobe.rbAbout Nishiwaki.rb and Kobe.rb
About Nishiwaki.rb and Kobe.rb
 
田舎からリモートで働くという生き方
田舎からリモートで働くという生き方田舎からリモートで働くという生き方
田舎からリモートで働くという生き方
 
How to upgrade your rails application to rspec3
How to upgrade your rails application to rspec3How to upgrade your rails application to rspec3
How to upgrade your rails application to rspec3
 
give IT a try 読者向けオフ会
give IT a try 読者向けオフ会give IT a try 読者向けオフ会
give IT a try 読者向けオフ会
 
Procon 20111031
Procon 20111031Procon 20111031
Procon 20111031
 
The FizzBuzz Programing Contest
The FizzBuzz Programing ContestThe FizzBuzz Programing Contest
The FizzBuzz Programing Contest
 

Recently uploaded

2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
ssuserbefd24
 

Recently uploaded (10)

YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
 
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
 

「RSpec初心者に送るRSpec最強チュートリアル」発表資料 #sg_study