私はAndroidアプリでローカリゼーションのためのいくつかの単体テストに取り組んでいます。現在、私の単体テストでは、さまざまなロケールのすべてについてさまざまなフォーマット文字列をチェックして、翻訳者がそれらを台無しにしないことを確認しています(これは彼らが行う傾向があります)。基本的に、String.format()を呼び出してもフォーマット例外がスローされないようにしています。
唯一の欠点は、すべての文字列を手動でテストに追加する必要があることです。リフレクションを使用してR.string内のすべての文字列を検索する置換テストに取り組んでいます。文字列の取得は問題ではありませんが、フォーマット文字列が期待する引数の数とタイプを決定する簡単な方法はありますか?
String.format()は、あまりにも多くの引数を渡しても文句を言わないので、おそらく整数の大きな配列(%dにボックス化されていないか%sにtoString()されている可能性があります)を渡して、フォーマットの例外を探すことができます。それでも、正しいタイプの引数を正しい量で渡すことができれば、もう少しいいでしょう:)