最初はネットにあるCucumberのサンプル通りfeacureファイルと対応するstep定義ファイルを記述して実行しました(この時は日本語なし)。これはうまくいきました。今度は、記述を日本語に変更して実行。ところがエラー。下記のように対処しました。
featureファイル
最初に出たのはこんなエラーでした。
Lexing error on line 1
調べてみると、そもそも全く文法を識別できない時のエラーだとか。そんなバカな。しかしどうやら原因は、日本語を使っていると認識できていないようでした。調べた結果、1行目に下記のようにコメントを入れることで日本語を使っていると認識でき、このエラーは出なくなりました。
#language:ja
step定義ファイル
ところが上記エラーを修正すると、今度はこんなエラーが出ます。
invalid multibyte char (US-ASCII)
勘弁してくれ。ただ、今度はエラーメッセージから明らかに文字コード認識の問題だと分かります。調べた結果、step定義ファイルも1行目に下記のようにコメントを入れないと、正しく文字コードを判別できないようです。(先ほどとは違うコメントなので注意。)
#encoding:utf-8
これらの記述をすることで、日本語で記述したテストが実行できるようになりました。
2014/03/20追記:step定義ファイルの文字コード認識の問題は、Ruby1.9系が上で書いたようなコメントを入れないとエンコーディングを正しく認識できないことが原因みたいなので、Ruby2.0以上をお使いの場合は不要かもしれません。
※この記事について指摘・意見・提案・感想などありましたら下のコメント欄にどうそ。
0 件のコメント:
コメントを投稿