Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
How the RSpec team and I built the smooth upgra...
Search
Yuji Nakayama
September 19, 2014
Programming
0
230
How the RSpec team and I built the smooth upgrade process for RSpec 3
Lightning Talk in RubyKaigi 2014
Yuji Nakayama
September 19, 2014
Tweet
Share
More Decks by Yuji Nakayama
See All by Yuji Nakayama
Qiita / Qiita:Team における Markdown レンダリングの歴史
yujinakayama
9
11k
Other Decks in Programming
See All in Programming
Claude Codeの「Compacting Conversation」を体感50%減! CLAUDE.md + 8 Skills で挑むコンテキスト管理術
kmurahama
1
680
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
150
Denoのセキュリティに関する仕組みの紹介 (toranoana.deno #23)
uki00a
0
190
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
510
從冷知識到漏洞,你不懂的 Web,駭客懂 - Huli @ WebConf Taiwan 2025
aszx87410
2
3.2k
ThorVG Viewer In VS Code
nors
0
460
The Art of Re-Architecture - Droidcon India 2025
siddroid
0
150
Pythonではじめるオープンデータ分析〜書籍の紹介と書籍で紹介しきれなかった事例の紹介〜
welliving
3
680
実はマルチモーダルだった。ブラウザの組み込みAI🧠でWebの未来を感じてみよう #jsfes #gemini
n0bisuke2
3
1.3k
脳の「省エネモード」をデバッグする ~System 1(直感)と System 2(論理)の切り替え~
panda728
PRO
0
130
「コードは上から下へ読むのが一番」と思った時に、思い出してほしい話
panda728
PRO
39
26k
ゲームの物理 剛体編
fadis
0
390
Featured
See All Featured
Facilitating Awesome Meetings
lara
57
6.7k
30 Presentation Tips
portentint
PRO
1
180
Context Engineering - Making Every Token Count
addyosmani
9
570
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
30
Darren the Foodie - Storyboard
khoart
PRO
0
2k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
300
Utilizing Notion as your number one productivity tool
mfonobong
2
190
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.5k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
36
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
520
The #1 spot is gone: here's how to win anyway
tamaranovitovic
1
880
Rails Girls Zürich Keynote
gr2m
95
14k
Transcript
How the RSpec team and I built the smooth upgrade
process for RSpec 3 Yuji Nakayama @nkym37 yujinakayama
RSpec 3 Released at June 2
Your specs written on RSpec 2 cannot be run on
RSpec 3 without upgrading
The RSpec team and I made the upgrade process smooth
as much as possible
RSpec 2.99 Transpec by the RSpec team by me
Compatible with RSpec 2.x + Deprecation warnings for things removed
in 3.0 RSpec 2.99
Upgrade checklist for your project You need not to read
the entire changelog!
Transpec Automatically converts your specs to the RSpec 3 syntax
None
AST Accurate conversion with
+ Runtime Information AST Accurate conversion with
The Upgrade Process 1. Update RSpec from 2.x to 2.99
2. Run Transpec 4. Update RSpec from 2.99 to 3.0 5. Done! 3. Manual handling (If any deprecation is remaining) About
? Is this upgrade approach applicable to other frameworks?
Why it was possible in RSpec
Simply Runnable Test codes are always run, so the deprecation
warnings and the runtime analysis worked well.
Specs themselves are tests. You can immediately notice if something
is wrong. Testable
It took much effort, but we had a significance of
doing it for the many users. Popular
? So, ineffective in frameworks that don't meet the conditions?
No There is room for compromise. It should still be helpful and much better than full manual upgrade.
This approach might be an option for your framework
How the RSpec team built the smooth upgrade process for
RSpec 3 and I
How the RSpec team built the smooth upgrade process for
RSpec 3
Thank you