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
220
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
Google Agent Development Kit でLINE Botを作ってみた
ymd65536
2
230
AI時代のソフトウェア開発を考える(2025/07版) / Agentic Software Engineering Findy 2025-07 Edition
twada
PRO
76
25k
Webの外へ飛び出せ NativePHPが切り拓くPHPの未来
takuyakatsusa
2
540
都市をデータで見るってこういうこと PLATEAU属性情報入門
nokonoko1203
1
610
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
2
350
たった 1 枚の PHP ファイルで実装する MCP サーバ / MCP Server with Vanilla PHP
okashoi
1
230
#kanrk08 / 公開版 PicoRubyとマイコンでの自作トレーニング計測装置を用いたワークアウトの理想と現実
bash0c7
1
710
ISUCON研修おかわり会 講義スライド
arfes0e2b3c
1
430
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
2
510
なぜ「共通化」を考え、失敗を繰り返すのか
rinchoku
1
640
来たるべき 8.0 に備えて React 19 新機能と React Router 固有機能の取捨選択とすり合わせを考える
oukayuka
2
920
Discover Metal 4
rei315
2
130
Featured
See All Featured
Designing Experiences People Love
moore
142
24k
Producing Creativity
orderedlist
PRO
346
40k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.4k
Raft: Consensus for Rubyists
vanstee
140
7k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Statistics for Hackers
jakevdp
799
220k
Bash Introduction
62gerente
614
210k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
The Invisible Side of Design
smashingmag
301
51k
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