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
250
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
How the RSpec team and I built the smooth upgrade process for RSpec 3
Lightning Talk in RubyKaigi 2014
Yuji Nakayama
September 19, 2014
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
【SRE NEXT 2026 Lunch Session】一人目専任SREの立ち上げを加速する ― AIと進めたオンボーディングで2分を0.04秒にした話
pkshadeck
PRO
0
2.7k
SREの積み重ねがAI駆動開発のガードレールになった ― 7つの実践/SRE Guardrails The 7
tomoyakitaura
8
4.3k
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
320
AIを活用したE2Eテスト実装効率化のあゆみ / ebisu-mobile-14-kotetu
kotetuco
0
170
JAWS-UG横浜 #102 AWSサ終供養LT会 成仏できない AWS サービスたち 〜本日、三体供養します〜
maroon1st
0
200
はてなアカウント基盤 State of the Union
cockscomb
1
1.3k
AI時代の仕事技芸論〜ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ(スクフェス仙台 2026バージョン)
kuranuki
0
650
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
210
5分で問診!Composer セキュリティ健康診断
codmoninc
0
270
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
12
4.8k
Haskell/Servantを通してWebミドルウェアを捉え直す
pizzacat83
1
580
壊れたパーサから始める関数型設計と構成的なパーサ #fp_matsuri
raiga0310
2
230
Featured
See All Featured
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
150
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.6k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
590
How STYLIGHT went responsive
nonsquared
100
6.2k
Side Projects
sachag
455
43k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
220
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
320
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
610
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