WEBサービス創造記

WEBサービスを作ったり保守したりしてる人のメモブログです。

RSpec2からRSpec3へ移行(アップグレード)する手順

      2015/12/14

アップグレードの手段としては2通りある。

その1. 一旦RSpec2.99にアップグレードしてから段階的にRSpec3へのアップグレードを行う

RSpec2からRSpec3へ移行するためのバージョンとしてRSpec2.99がある。 RSpec2.99にアップグレードすると、RSpec 2系の動作を保持した上で、RSpec 3では使えなくなる機能について警告が出力されるようになる(RSpec2.99でのdeprecation warningはRSpec3.0での破壊的な変更に相当)。

このことを鑑みて一旦RSpec2.99にアップグレードしてからRSpec3で動作しなくなる箇所を抽出していき、適宜修正していく。

その2. Transpec を使って自動的にRSpec3での記法に書き換える

スペックの数が多い場合、「その1」の手法ように手動で書き換えるのはかなり時間がかかる。 そこで既存のspecを最新の記法に書き換えるgemである「Transpec」を利用する。

yujinakayama/transpec

これで自動的に記法を更新し、Transpecで対応しきれなかった箇所のみ手動で更新していくようにすれば工数を減らせる。

 - Ruby , , , ,