SlideShare ist ein Scribd-Unternehmen logo
1 von 46
Downloaden Sie, um offline zu lesen
How to upgrade your Rails
application to RSpec 3
株式会社ソニックガーデン / 西脇.rb
伊藤 淳一
エンジニア募集中!
http://sonicgarden.jp
自己紹介
About me
伊藤 淳一
Twitter: @jnchito
Blog: give IT a try
Lives in 西脇市
西脇市???
僕はココに住んでます。
神戸の北西約50km
Wikipedia
リモートで働いてます
窓の外はこんな感じ
毎月Ruby勉強会も
やってます!
西脇.rb & 東 .rb
nishiwaki-higashinadarb.doorkeeper.jp
ちょっとアンケート
Rails または RSpecを
使ってる人は挙手!
本日のテーマ
How to upgrade your Rails
application to RSpec 3
すなわち
RSpec 2で書いたテストを
RSpec 3に上げる方法
シンプルなRailsアプリの
シンプルなテストをupgrade
題材として使用するのは
題材はこちら
• Everyday Railsのサンプルアプリ
• github.com/everydayrails/rspec_rails_4
バージョンについて
• Ruby 2.0
• Rails 4.0
• RSpec 2.14
=> 3.0.0.beta2
説明の流れ
• ライブコーディングでupgrade
• サンプルアプリの説明も少々
• まとめ
• Q&A
ライブコーディング
開始
その場で実演
ライブコーディング
終了
本日のまとめ
How to upgrade?
1. RSpec 2.99.0.beta2にupdate
2. Transpecでコンバート
3. capybaraを2.2.1にupdate
4. rspec-collection_matchersの追加
How to upgrade?
5. RSpec 3.0.0.beta2にupdate
6. capybaraをgithub版にupdate
7. shoulda-matchersを2.5.0にupdate
8. failure_messageの修正
9. Done!!
What Transpec did?
• be_true / be_false
• be_truthy / be_falsey
• it { should … }
• it { is_expected.to … }
• pending
• skip
yield_receiver?
• spec_helper.rb
• yield_receiver_to_any_instance_imple
mentation_blocks = true
• any_instanceのブロック引数が変わる
• 詳しくはこちらのQiita記事を参照
http://qiita.com/jnchito/items/a1b466a041accfc9f338
意外と簡単?かも
復習したい方へ
• こちらのコミットログを参照
• https://github.com/JunichiIto/
rspec_rails_4/commits/rspec3
More about RSpec 3
• myronmarston氏のブログ
• http://myronmars.to/n/dev-blog
• RSpec 3へのアップグレードガイド
• http://qiita.com/yujinakayama/items/
a1d31b2caa35642e8e69
宣伝
RSpecでRailsをテスト
できるようになりたい方へ
最強のチュートリアルが
あります!
Why Everyday Rails?
• 動くサンプルアプリが提供されている
• あくまでRailsのテストに特化
• 実務ですぐ使える実践的な内容
• 最新版のフレームワークに追従
• 著者や翻訳者に質問や意見も送れる
よって最強チュートリアル!
書評
Railsに慣れて、テストを意識し始めた人には

絶対読んでほしい一冊。
本書のように体系立って読める資料があれば、
最初のハードルも一気に下がるはず。
僕自身も目から鱗な情報がたくさんあった。
- SonicGarden Eさん-
ライブコーディングに
興味を持った方はこちら!
西脇.rb & 東 .rb
nishiwaki-higashinadarb.doorkeeper.jp
Q&A
leanpub.com/everydayrailsrspec-jp
Thank you.

Weitere ähnliche Inhalte

Ähnlich wie How to upgrade your rails application to rspec3

Railsエンジニアが サーバーレスアーキテクチャに 手を出したよ - 川崎Ruby会議01
Railsエンジニアが サーバーレスアーキテクチャに 手を出したよ - 川崎Ruby会議01Railsエンジニアが サーバーレスアーキテクチャに 手を出したよ - 川崎Ruby会議01
Railsエンジニアが サーバーレスアーキテクチャに 手を出したよ - 川崎Ruby会議01Yuta Shimizu
 
ApplicationTemplateのススメ
ApplicationTemplateのススメApplicationTemplateのススメ
ApplicationTemplateのススメTakafumi ONAKA
 
ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発Takafumi ONAKA
 
2015年度苫小牧高専情報工学科 学外実習発表会 発表資料
2015年度苫小牧高専情報工学科 学外実習発表会 発表資料2015年度苫小牧高専情報工学科 学外実習発表会 発表資料
2015年度苫小牧高専情報工学科 学外実習発表会 発表資料Takuya Mukohira
 
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクションTakahiro Okumura
 
Ruby on Railsではじめるrspecテスト
Ruby on RailsではじめるrspecテストRuby on Railsではじめるrspecテスト
Ruby on RailsではじめるrspecテストKanako Kobayashi
 
Railsチュートリアル(second)を終えて
Railsチュートリアル(second)を終えてRailsチュートリアル(second)を終えて
Railsチュートリアル(second)を終えてHirata Tomoko
 
Instagram Ruby Gem と Instagram API から学んだことまとめ|【CoEdo.rb】Ruby / Ruby on Rails ...
Instagram Ruby Gem と Instagram API から学んだことまとめ|【CoEdo.rb】Ruby / Ruby on Rails ...Instagram Ruby Gem と Instagram API から学んだことまとめ|【CoEdo.rb】Ruby / Ruby on Rails ...
Instagram Ruby Gem と Instagram API から学んだことまとめ|【CoEdo.rb】Ruby / Ruby on Rails ...Yoshinori Kobayashi
 
Railsから学ぶRESTfulなuri設計
Railsから学ぶRESTfulなuri設計Railsから学ぶRESTfulなuri設計
Railsから学ぶRESTfulなuri設計Kanako Kobayashi
 
Rails解説セミナー: リリースノート解説編
Rails解説セミナー: リリースノート解説編Rails解説セミナー: リリースノート解説編
Rails解説セミナー: リリースノート解説編Yohei Yasukawa
 
Web関連技術の最新動向・プログラミング言語(サーバ側)
Web関連技術の最新動向・プログラミング言語(サーバ側)Web関連技術の最新動向・プログラミング言語(サーバ側)
Web関連技術の最新動向・プログラミング言語(サーバ側)masayoshi takahashi
 
running-elixir-in-production
running-elixir-in-productionrunning-elixir-in-production
running-elixir-in-productionTsunenori Oohara
 
Rubyで作るクローラー Ruby crawler
Rubyで作るクローラー Ruby crawlerRubyで作るクローラー Ruby crawler
Rubyで作るクローラー Ruby crawlerTakuro Sasaki
 
railsはじめの一歩
railsはじめの一歩railsはじめの一歩
railsはじめの一歩Kanako Kobayashi
 
Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発Koichi Shimozono
 
Scotty + Aeson + Persistentで作るJSON Web API
Scotty + Aeson + Persistentで作るJSON Web APIScotty + Aeson + Persistentで作るJSON Web API
Scotty + Aeson + Persistentで作るJSON Web APIDaisuke Fujimura
 
Svgアニメーションを実装してみよう 20150207
Svgアニメーションを実装してみよう 20150207Svgアニメーションを実装してみよう 20150207
Svgアニメーションを実装してみよう 20150207Kanako Kobayashi
 
RESTからGraphQL APIへの移行で学んだこと.pptx
RESTからGraphQL APIへの移行で学んだこと.pptxRESTからGraphQL APIへの移行で学んだこと.pptx
RESTからGraphQL APIへの移行で学んだこと.pptxYuya55
 

Ähnlich wie How to upgrade your rails application to rspec3 (20)

Railsエンジニアが サーバーレスアーキテクチャに 手を出したよ - 川崎Ruby会議01
Railsエンジニアが サーバーレスアーキテクチャに 手を出したよ - 川崎Ruby会議01Railsエンジニアが サーバーレスアーキテクチャに 手を出したよ - 川崎Ruby会議01
Railsエンジニアが サーバーレスアーキテクチャに 手を出したよ - 川崎Ruby会議01
 
ApplicationTemplateのススメ
ApplicationTemplateのススメApplicationTemplateのススメ
ApplicationTemplateのススメ
 
ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発
 
2015年度苫小牧高専情報工学科 学外実習発表会 発表資料
2015年度苫小牧高専情報工学科 学外実習発表会 発表資料2015年度苫小牧高専情報工学科 学外実習発表会 発表資料
2015年度苫小牧高専情報工学科 学外実習発表会 発表資料
 
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
2015年GMOペパボ新卒エンジニア研修 Web開発研修イントロダクション
 
Ruby on Railsではじめるrspecテスト
Ruby on RailsではじめるrspecテストRuby on Railsではじめるrspecテスト
Ruby on Railsではじめるrspecテスト
 
Railsチュートリアル(second)を終えて
Railsチュートリアル(second)を終えてRailsチュートリアル(second)を終えて
Railsチュートリアル(second)を終えて
 
Instagram Ruby Gem と Instagram API から学んだことまとめ|【CoEdo.rb】Ruby / Ruby on Rails ...
Instagram Ruby Gem と Instagram API から学んだことまとめ|【CoEdo.rb】Ruby / Ruby on Rails ...Instagram Ruby Gem と Instagram API から学んだことまとめ|【CoEdo.rb】Ruby / Ruby on Rails ...
Instagram Ruby Gem と Instagram API から学んだことまとめ|【CoEdo.rb】Ruby / Ruby on Rails ...
 
Railsから学ぶRESTfulなuri設計
Railsから学ぶRESTfulなuri設計Railsから学ぶRESTfulなuri設計
Railsから学ぶRESTfulなuri設計
 
Rails解説セミナー: リリースノート解説編
Rails解説セミナー: リリースノート解説編Rails解説セミナー: リリースノート解説編
Rails解説セミナー: リリースノート解説編
 
Application Bootstrap
Application BootstrapApplication Bootstrap
Application Bootstrap
 
Web関連技術の最新動向・プログラミング言語(サーバ側)
Web関連技術の最新動向・プログラミング言語(サーバ側)Web関連技術の最新動向・プログラミング言語(サーバ側)
Web関連技術の最新動向・プログラミング言語(サーバ側)
 
running-elixir-in-production
running-elixir-in-productionrunning-elixir-in-production
running-elixir-in-production
 
Rubyで作るクローラー Ruby crawler
Rubyで作るクローラー Ruby crawlerRubyで作るクローラー Ruby crawler
Rubyで作るクローラー Ruby crawler
 
railsはじめの一歩
railsはじめの一歩railsはじめの一歩
railsはじめの一歩
 
Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発
 
Scotty + Aeson + Persistentで作るJSON Web API
Scotty + Aeson + Persistentで作るJSON Web APIScotty + Aeson + Persistentで作るJSON Web API
Scotty + Aeson + Persistentで作るJSON Web API
 
Svgアニメーションを実装してみよう 20150207
Svgアニメーションを実装してみよう 20150207Svgアニメーションを実装してみよう 20150207
Svgアニメーションを実装してみよう 20150207
 
RESTからGraphQL APIへの移行で学んだこと.pptx
RESTからGraphQL APIへの移行で学んだこと.pptxRESTからGraphQL APIへの移行で学んだこと.pptx
RESTからGraphQL APIへの移行で学んだこと.pptx
 
2015 07-04-ruby rails
2015 07-04-ruby rails2015 07-04-ruby rails
2015 07-04-ruby rails
 

Mehr von Junichi Ito

起業するっておもしろい!~子育て中の主婦が突然パン屋を始めました~
起業するっておもしろい!~子育て中の主婦が突然パン屋を始めました~起業するっておもしろい!~子育て中の主婦が突然パン屋を始めました~
起業するっておもしろい!~子育て中の主婦が突然パン屋を始めました~Junichi Ito
 
About Nishiwaki.rb and Kobe.rb
About Nishiwaki.rb and Kobe.rbAbout Nishiwaki.rb and Kobe.rb
About Nishiwaki.rb and Kobe.rbJunichi Ito
 
田舎からリモートで働くという生き方
田舎からリモートで働くという生き方田舎からリモートで働くという生き方
田舎からリモートで働くという生き方Junichi Ito
 
CodeIQベストコード発表会 #sg_study
CodeIQベストコード発表会 #sg_studyCodeIQベストコード発表会 #sg_study
CodeIQベストコード発表会 #sg_studyJunichi Ito
 
「RSpec初心者に送るRSpec最強チュートリアル」発表資料 #sg_study
「RSpec初心者に送るRSpec最強チュートリアル」発表資料 #sg_study「RSpec初心者に送るRSpec最強チュートリアル」発表資料 #sg_study
「RSpec初心者に送るRSpec最強チュートリアル」発表資料 #sg_studyJunichi Ito
 
Twilio+rails+sms #sg_study
Twilio+rails+sms #sg_studyTwilio+rails+sms #sg_study
Twilio+rails+sms #sg_studyJunichi Ito
 
give IT a try 読者向けオフ会
give IT a try 読者向けオフ会give IT a try 読者向けオフ会
give IT a try 読者向けオフ会Junichi Ito
 
なぜ私はソニックガーデンのプログラマに転身できたのか?(Short ver.)
なぜ私はソニックガーデンのプログラマに転身できたのか?(Short ver.)なぜ私はソニックガーデンのプログラマに転身できたのか?(Short ver.)
なぜ私はソニックガーデンのプログラマに転身できたのか?(Short ver.)Junichi Ito
 
なぜ私はソニックガーデンのプログラマに転身できたのか?
なぜ私はソニックガーデンのプログラマに転身できたのか? なぜ私はソニックガーデンのプログラマに転身できたのか?
なぜ私はソニックガーデンのプログラマに転身できたのか? Junichi Ito
 
The FizzBuzz Programing Contest
The FizzBuzz Programing ContestThe FizzBuzz Programing Contest
The FizzBuzz Programing ContestJunichi Ito
 

Mehr von Junichi Ito (11)

起業するっておもしろい!~子育て中の主婦が突然パン屋を始めました~
起業するっておもしろい!~子育て中の主婦が突然パン屋を始めました~起業するっておもしろい!~子育て中の主婦が突然パン屋を始めました~
起業するっておもしろい!~子育て中の主婦が突然パン屋を始めました~
 
About Nishiwaki.rb and Kobe.rb
About Nishiwaki.rb and Kobe.rbAbout Nishiwaki.rb and Kobe.rb
About Nishiwaki.rb and Kobe.rb
 
田舎からリモートで働くという生き方
田舎からリモートで働くという生き方田舎からリモートで働くという生き方
田舎からリモートで働くという生き方
 
CodeIQベストコード発表会 #sg_study
CodeIQベストコード発表会 #sg_studyCodeIQベストコード発表会 #sg_study
CodeIQベストコード発表会 #sg_study
 
「RSpec初心者に送るRSpec最強チュートリアル」発表資料 #sg_study
「RSpec初心者に送るRSpec最強チュートリアル」発表資料 #sg_study「RSpec初心者に送るRSpec最強チュートリアル」発表資料 #sg_study
「RSpec初心者に送るRSpec最強チュートリアル」発表資料 #sg_study
 
Twilio+rails+sms #sg_study
Twilio+rails+sms #sg_studyTwilio+rails+sms #sg_study
Twilio+rails+sms #sg_study
 
give IT a try 読者向けオフ会
give IT a try 読者向けオフ会give IT a try 読者向けオフ会
give IT a try 読者向けオフ会
 
なぜ私はソニックガーデンのプログラマに転身できたのか?(Short ver.)
なぜ私はソニックガーデンのプログラマに転身できたのか?(Short ver.)なぜ私はソニックガーデンのプログラマに転身できたのか?(Short ver.)
なぜ私はソニックガーデンのプログラマに転身できたのか?(Short ver.)
 
なぜ私はソニックガーデンのプログラマに転身できたのか?
なぜ私はソニックガーデンのプログラマに転身できたのか? なぜ私はソニックガーデンのプログラマに転身できたのか?
なぜ私はソニックガーデンのプログラマに転身できたのか?
 
Procon 20111031
Procon 20111031Procon 20111031
Procon 20111031
 
The FizzBuzz Programing Contest
The FizzBuzz Programing ContestThe FizzBuzz Programing Contest
The FizzBuzz Programing Contest
 

Kürzlich hochgeladen

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 

Kürzlich hochgeladen (7)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 

How to upgrade your rails application to rspec3