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
React Nativeならぬ"Vue Native"が実現するかも?_新世代マルチプラットフォーム開発フレームワークのLynxとLynxのVue.js対応を追ってみよう_Vue Lynx
yut0naga1_fa
2
1.9k
kiroとCodexで最高のSpec駆動開発を!!数時間で web3ネイティブなミニゲームを作ってみたよ!
mashharuki
0
970
alien-signals と自作 OSS で実現する フレームワーク非依存な ロジック共通化の探求 / Exploring Framework-Agnostic Logic Sharing with alien-signals and Custom OSS
aoseyuu
2
790
NixOS + Kubernetesで構築する自宅サーバーのすべて
ichi_h3
0
1.3k
エンジニアインターン「Treasure」とHonoの2年、そして未来へ / Our Journey with Hono Two Years at Treasure and Beyond
carta_engineering
0
450
AI駆動で0→1をやって見えた光と伸びしろ
passion0102
1
880
SODA - FACT BOOK(JP)
sodainc
1
8.9k
EMこそClaude Codeでコード調査しよう
shibayu36
0
480
オープンソースソフトウェアへの解像度🔬
utam0k
17
3.2k
Google Opalで使える37のライブラリ
mickey_kubo
3
160
三者三様 宣言的UI
kkagurazaka
0
280
GC25 Recap: The Code You Reviewed is Not the Code You Built / #newt_gophercon_tour
mazrean
0
130
Featured
See All Featured
Visualization
eitanlees
150
16k
A Tale of Four Properties
chriscoyier
161
23k
Building an army of robots
kneath
306
46k
Thoughts on Productivity
jonyablonski
71
4.9k
Code Review Best Practice
trishagee
72
19k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Making Projects Easy
brettharned
120
6.4k
Building a Modern Day E-commerce SEO Strategy
aleyda
44
7.9k
Designing for humans not robots
tammielis
254
26k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
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