2016-04-29 6 views
4

異なるデバイスロケールでのテストの結果をテストすることは可能ですか?異なるロケールでのXCTest

私は、現在のデバイスの言語を判断するには

NSString *language = [[[NSBundle mainBundle] preferredLocalizations] objectAtIndex:0]; 

を使用しているメソッドをテストしたいと思います。私のXCTestでは、単に "en"の代わりに "en-gb"に入ったり、まったく別の言語をテストしたりしているときに何が起こるのかを確認したいと思います。

答えて

0

NSLocalizedStringのメソッドは、起動時にキーの適切な文字列を読み込んで高速検索するため、起動後にシフトすることはできません。あなたができることは、あるロケールでテストスイートを実行し、次に別のロケールで同じテストスイートを実行することです。

実行アクション、オプションタブを選択し、アプリケーション言語とアプリケーション領域を選択することで、スキーマエディタで実行するアプリケーションのロケールを設定できます。両方ともシステム設定にデフォルト設定されていますが、いくつか便利な偽のRTLや偽の倍長言語を使用するなど、変更することができます。

(テストアクションが何らかの理由でこれらの設定を継承しない場合は、コマンドライン引数を使用して、言語と地域の設定を並べ替えるためのデフォルト検索を変更することもできます。 )

関連する問題