はじめる! Cucumber 第3章 2周目: 日本語化する
第3章では独自にステップ定義を書くようです
- ラベルやボタンを日本語化する
- feature ファイルの記述を変更
- テスト失敗を確認する
- i18n_generator.gem で日本語化、とありますが多分これも古い情報ではないかと。今 i18n っていう gem がありますね。
- config/locales/translation.ja.yml で対訳表を記述。ここはあまり変わりないみたいです。
- scaffold が生成した view を修正。t メソッドに英語のメッセージを渡しておく
- rake cucumber に FEATURES=(ファイル名):(行番号) を渡すとそのファイルのその行のシナリオのみ実行してくれる
- cucumber によるテストも国際化を意識して locale の設定によって変化するテストを追加する。言語は HTTP_ACCEPT_LANGUAGE ヘッダで指定する
- Rails 側は ApplicationController の before_filter で HTTP_ACCEPT_LANGUAGE ヘッダをみて I18n.locale を設定。でもこれは Thread safe ではないですよね
- テストのデフォルトの locale を設定する
- features/support/env.rb などを作成してそこに Before { } ブロックを定義してその中で全体に有効になる初期化処理を書く
- Before ブロックの中では ruby の式を書くこともできるし、ステップ定義の呼び出し(Given, When, Then などを使って)も書ける
ちょっとプラクティカルすぎてメモ取りながら読むには向いていないかもしれませんね。