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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Yuji Nakayama
September 19, 2014
Programming
0
240
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
ポーリング処理廃止によるイベント駆動アーキテクチャへの移行
seitarof
3
1.1k
How to stabilize UI tests using XCTest
akkeylab
0
130
AIに任せる範囲を安全に広げるためにやっていること
fukucheee
0
150
Ruby and LLM Ecosystem 2nd
koic
1
1.1k
米国のサイバーセキュリティタイムラインと見る Goの暗号パッケージの進化
tomtwinkle
2
610
ふつうの Rubyist、ちいさなデバイス、大きな一年
bash0c7
0
1.1k
Symfony + NelmioApiDocBundle を使った スキーマ駆動開発 / Schema Driven Development with NelmioApiDocBundle
okashoi
0
180
Codexに役割を持たせる 他のAIエージェントと組み合わせる実務Tips
o8n
4
1.4k
The free-lunch guide to idea circularity
hollycummins
0
280
[PHPerKaigi 2026]PHPerKaigi2025の企画CodeGolfが最高すぎて社内で内製して半年運営して得た内製と運営の知見
ikezoemakoto
0
190
それはエンジニアリングの糧である:AI開発のためにAIのOSSを開発する現場より / It serves as fuel for engineering: insights from the field of developing open-source AI for AI development.
nrslib
0
340
Angular-Apps smarter machen mit Gen AI: Lokal und offlinefähig - Hands-on Workshop!
christianliebel
PRO
0
120
Featured
See All Featured
Thoughts on Productivity
jonyablonski
75
5.1k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
860
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
390
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
130
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.4k
Navigating Team Friction
lara
192
16k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
First, design no harm
axbom
PRO
2
1.1k
Faster Mobile Websites
deanohume
310
31k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
230
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
980
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
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