2010-11-17 14 views
0

D'après ce que je peux dire, il n'y a aucun moyen de charger une chaîne à partir du fichier de langue d'une région spécifique. Ce que je veux faire, c'est exécuter toutes les chaînes de format d'heure de mes locales (j'en ai 24) à travers des tests unitaires pour s'assurer qu'elles ne se bloquent pas. Par exemple, voici une chaîne de format de date en français: "'Hier à' h: mm a". Il faut vraiment tester les unités, car les traducteurs ne peuvent pas échapper correctement à ces chaînes, provoquant des plantages à moins que nous ne vérifions manuellement chaque chaîne dans chaque langue chaque fois que nous obtenons un renvoi de traduction.Android - Unit testing localizations

This question a une sorte de réponse. Est-ce vraiment le seul moyen? Existe-t-il un meilleur moyen de spécifier les paramètres régionaux d'un contexte dans les tests unitaires?

Répondre

1

Robolectric soutient cette v2.0 de alpha 3. Voir ici:

http://robolectric.blogspot.com/2013/05/robolectric-20-alpha-3.html

Tout ce que vous devez faire est d'ajouter une annotation à votre méthode d'essai:

@Test @Config(qualifiers = "fr") 
public void testGetValuesResFromSpecificQualifiers() { 
    assertThat(resources.getString(R.string.hello)).isEqualTo("Bonjour"); 
}