- お知らせ -
  • 当wikiのプログラムコードの表示を直してみました(ついでに長い行があると全体が下にぶっ飛ぶのも修正)。不具合があればBBSまでご連絡下さい。

Ruby/cucumber

はじめに Edit

Rubyのテストツール Cucumberで日本語を使う方法メモ

バージョンによって変わる可能性があるので、公式のドキュメント(wiki)も読んでおいた方がいいと思います。

Cucumberバージョン 0.4.2 で確認

ところで、例によって、Windowsのコマンドプロンプトだと、UTF-8をどう表示するかという問題もあります。
この辺のコマンドプロンプトでUTF-8が表示されない件は、
こちらも参照してください→Ruby/autotest/WindowsでUTF-8表示

cucumberに日本語を使いますよ、と伝える方法 Edit

デフォルトのcucumberコマンドだと、
Scenarioを'シナリオ'だとか、Givenを'前提'とか
のような日本語をfeatureファイルに書いても、無視されるみたいです。

そこで以下のようにcucumber自身に「日本語を使いますよ」と伝える必要があります。

まず基本(引数で指定する方法) Edit

ネットでよく出てくる方法として、
引数で "-l ja" を指定して起動すると、日本語でfeatureを書いても認識されます。

例えば以下のようにします。

cucumber -l ja --format pretty

Rakefileに書いてrakeコマンドで使う場合は、
以下のように指定します。

1
2
3
4
5
6
require 'rubygems'
require 'cucumber/rake/task'

Cucumber::Rake::Task.new do |t|
  t.cucumber_opts = %w{--format pretty -l ja}
end

次は、プロファイル用の設定"cucumber.yml"を使う場合です。
cucumber.ymlをプロジェクトのルートにおきます。

以下はプロファイルを何も指定しない"default"プロファイルの例です。

default: features -f pretty --color -l ja

これで、cucumberコマンドを叩けば、呼ばれます。

"cucumber.yml"の詳細:cucumber.yml - cucumber - GitHub

.featureファイルに記述する方法 Edit

featureファイルに記述してもOKな模様です。
examplesのi18nの例では、こちらを使っているみたい。

方法ですが先頭に

# language: ja

と指定すればいい模様。

以下、examples/i18n/ja/features/division.feature から抜粋

# language: ja
フィーチャ: 除算
  バカな間違いを避けるために
  有理数も計算できること

  シナリオ: ふつうの数値
    前提 3 を入力
    かつ 2 を入力
    もし divide を押した
    ならば 1.5 を表示

この辺の詳細は公式wikiにも記述があります→Spoken languages - cucumber - GitHub

featureファイルでどんな日本語が使えるのか Edit

以下のコマンドで調べることが出来ます。

cucumber -l ja help

実際に調べてみた例:

$ cucumber -l ja help
| name                | 'Japanese'             |
| native              | '日本語'               |
| encoding            | 'UTF-8'                |
| space_after_keyword |                        |
| feature             | 'フィーチャ' / '機能'  |
| background          | '背景'                 |
| scenario            | 'シナリオ'             |
| scenario_outline    | 'シナリオアウトライン' / 'シナリオテンプレート' / 'テンプレ' / 'シナリオテンプレ' |
| examples            | '例' / 'サンプル'      |
| given               | '前提'                 |
| when                | 'もし'                 |
| then                | 'ならば'               |
| and                 | 'かつ'                 |
| but                 | 'しかし' / '但し' / 'ただし'|

※見やすいように字詰めしてます

…というような調べ方は、公式wikiに書いてあります(しつこい)
Spoken languages - cucumber - GitHub

日本語以外も指定したいのですが… Edit

"-l ja"引数とか、"# language: ja"の "ja"で日本語指定しますが、
日本語指定以外も指定したい場合は、

cucumber -l help

として、サポートされている言語を調べることができます。

というようなことは、公式wikiに書いてありますw→Spoken languages - cucumber - GitHub

参考リンク Edit


No comment. Comments/Ruby/cucumber/日本語を使う方法?

Name:

Front page   Edit Freeze Diff Backup Upload Copy Rename Reload   New Pages Search Recent changes   Help   RSS of recent changes
Last-modified: 2009-10-28 Wed 12:12:11 JST (3694d)