2016-04-29 12 views
4

Ist es möglich, das Ergebnis eines Tests unter einem anderen Gerätegebietsschema zu testen?XCTest unter anderem Gebietsschema

Ich möchte Methode testen, die

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

wird mit der aktuellen Gerätesprache zu bestimmen. Nun möchte ich in meinem XCTest überprüfen, was passiert, wenn ich zum Beispiel "en-gb" anstelle von "en" schreibe, oder einfach nach einer komplett anderen Sprache teste.

Antwort

0

Die Methoden NSLocalizedString laden die entsprechenden Zeichenfolgen für die Schlüssel beim Start für eine schnelle Suche, sodass Sie sie nach dem Start nicht verschieben können. Sie können eine Testsuite mit einem Gebietsschema ausführen und dann dieselbe Testsuite an einem anderen Gebietsschema ausführen.

Sie können das Gebietsschema für eine Anwendung im Scheme-Editor festlegen, indem Sie die Aktion Ausführen, Registerkarte Optionen auswählen und Anwendungssprache und Anwendungsregion auswählen. Beide sind standardmäßig auf die Systemeinstellungen eingestellt, Sie können sie jedoch ändern, einschließlich einiger gefälschter RTL- und falscher doppelter Sprachen.

(Wenn die Test-Aktion diese Einstellungen aus irgendeinem Grund nicht erbt, gibt es auch Befehlszeilenargumente, die Sie verwenden können, um die Standardeinstellungen für die Sprachen- und Regionspräferenzen zu ändern. Dies könnte jedoch für Scripting-Zwecke wünschenswert sein.)