2

sinatra-r18n国際化を処理するために使用する場合、libr18nは、これらの手順に従ってt、ヘルパー、ルート、およびテンプレート内で使用するための変数を公開します。

rack-unitいくつかの複数形が機能することを確認するためにを使用して簡単な単体テストを作成しましたが、テストtはゼロであると主張するエラーをスローします。

app.tMySillyApp.t(MySillyAppは私のSinatraアプリの名前です)などを介して参照しようとしましたがMySillyApp.settings.t、どれもt必要なものにアクセスできません。

私が達成しようとしているのは、翻訳ファイルに、アプリが理解する必要のあるさまざまなメートル単位の複数形に対応するために必要なすべてのキーが含まれていることを確認することです。おそらく、Sinatraアプリ自体を経由せずにこれをテストするより直接的な方法があります。ここでの洞察を歓迎します。

4

1 に答える 1

1

Cucumberシナリオでローカライズされた文字列をチェックするための同様のタスクがありました。実例を作成しました。 ここでは、文字列がどのように翻訳されたかを確認できます。 このファイルは、テストフレームワークにR18nサポートを追加する方法を理解するのに役立ちます。

require 'r18n-core'
...

class SinCucR18nWorld
  ...
  include R18n::Helpers
end

ご覧のとおり、ラック/ユニットの代わりにRSpec/Cucumberを使用しています。申し訳ありません。

于 2012-11-10T14:10:33.567 に答える