1

私は先週かそこらでRailsを学んでいて、BDDに取り掛かり始めたばかりです。cucumber または rspec チュートリアルの典型的な例は、アクションが成功したか失敗したかのチェックとして、成功/エラー メッセージが表示されるようにすることです。

これは、「メッセージは正常に配信されました」などの一定のメッセージがコード内に 2 回 (1 つはアプリケーションに、もう 1 つはテストに) あることを意味します。これは私には奇妙です... これは Rails 開発者が生きる DRY ではありません。メッセージを別のものに変更したい場合は、それを 2 回行う必要があります。

これは標準ですか?locales ディレクトリの en.yml について読んだことがありますが、誰かがそれを文字列に使用したかどうか疑問に思っていました。これまでのチュートリアルでこれを見たことがないので、質問しています。en.yml の文字列は cucumber/rspec テストに表示されますか? もしそうなら、コードでそれらにアクセスするにはどうすればよいですか? en.yml が適していない場合、Rails 開発者は定数文字列値をどのように格納するのでしょうか?

4

1 に答える 1

0

ロケール ファイルを使用して、言及しているメッセージなどのロケールに依存する文字列を保存します。次に、次のようにします。

page.should have_content I18n.translate(:message_delivered)
于 2012-09-25T18:06:02.157 に答える