2016-04-29 4 views
4

Est-il possible de tester le résultat d'un test dans un environnement local différent?XCTest sous des paramètres régionaux différents

Je voudrais tester la méthode qui utilise

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

Pour déterminer la langue de l'appareil en cours. Maintenant dans mon XCTest je voudrais vérifier ce qui se passe quand je suis par exemple "en-gb" au lieu de simplement "en", ou simplement tester pour une langue complètement différente.

Répondre

0

Les méthodes NSLocalizedString chargent les chaînes appropriées pour les clés au démarrage pour une recherche rapide, de sorte que vous ne pouvez pas les déplacer après le lancement. Vous pouvez exécuter une suite de tests avec un environnement local, puis exécuter la même suite de tests dans des paramètres régionaux différents.

Vous pouvez définir les paramètres régionaux pour une exécution d'application dans l'éditeur de schéma en sélectionnant l'action Exécuter, l'onglet Options et la sélection de la langue d'application et de la région d'application. Les deux paramètres par défaut pour les paramètres du système, mais vous pouvez les modifier, y compris en utilisant un faux RTL pratique et fausses langues de double longueur. (Si l'action Tester n'hérite pas de ces paramètres pour une raison quelconque, il existe également des arguments de ligne de commande que vous pouvez définir pour modifier la recherche par défaut utilisée pour commander les préférences de langue et de région.)