Cucumber を0.4.3から0.8.3 にバージョンアップしてみました

プロダクトで使っているCucumber ですが、バージョンアップしていませんでしたので未だ 0.4.3 でした。昨日少し時間が出来たので 0.8.3 にバージョンアップしてみました。

http://cukes.info/images/cucumber_logo.png

バージョンアップ方法

Rails関連の追加ソフトをバージョンアップする方法ですが以下の2つが考えられます

  1. 空のプロジェクトを旧バージョン/新バージョンで作り、追加・変更されたファイルの差をチェックし旧環境を新環境に移行していく
  2. 旧バージョンの追加ソフトをいったん削除し、改めて新バージョンの追加ソフトをインストールし再構築する

通常は、1. で行います。今回も最初は 1. を試してみましたが、今回は 0.4.3 → 0.8.3 とかなりバージョンが上がっていて変更箇所がたくさんあったので止め。 2. の方法にしました。

作業手順

0. 最新の Cucumber などをインストール

Cucumber とそれに関係する gem の最新版をインストール

1. ブランチを作る

このような作業ではブランチを作り作業するのが常識だと思います ^^) git co -b cucumber_8_3 で作業用ブランチを作成

2. cucumber 0.4.3環境を削除

script/destroyでcucumber環境を削除します。ただし xxxx ファイルがあるので削除出来ないとか言ってきますので xxxx ファイルを削除しscript/destroyを実行し cucumber 関連のファイルを削除します。

% ./script/destroy cucumber
3. cucumber 0.8.3 環境を作成

今回は日本語 feature 用に moro-miso を使いました

% ./script/generate cucumber --webrat --spork
% ./script/generate miso
4. 1つ feature ファイルを元環境から追加し、動くように設定等を調整

今回直したのは

  • Cucumber設定 (config/cucumber.yml) の変更 --format pretty --no-source
  • フィクスチャーを読むようにする http://wiki.github.com/aslakhellesoy/cucumber/fixtures
  • featureファイルの先頭に以下のような language を追加。これに気付くのに時間がかかりました
# language: ja
5. 全てのfeature ファイルを元環境から追加し動く事を確認

language を追加のみで全て動きました

6. master ブランチに変更をマージ
% git co master
% git merge cucumber_8_3

git は便利です ^^)/


以上です。