2009-11-13 4 views
1

Je veux m'assurer que j'ai le bon méta desc/mot-clé et le titre du texte dans ma vue, donc je veux créer des tests de vues rspec pour cela. Maintenant, le vrai défi ici est de savoir comment le faire fonctionner dans plusieurs langues.rspec tester les vues avec l'internationalisation?

La façon dont je l'ai fait est:

it "should have the right page title" do 
    title = "some nice title here" 
    response.should have_tag("title", title) 
end 

Ainsi, parce que la « exigence » est codé en dur dans cet exemple, j'ai du mal à comprendre comment faire la même chose pour tous les autres langues dans ma config/locale /.

Je ne suis pas sûr que ce soit la meilleure façon de le faire ou devrais-je aller chercher le texte de la locale/lang.yml comme ceci:

it "should have the right page title" do 
    title = t('site.title') 
    response.should have_tag("title", title) 
end 

Merci

Répondre

3

Cela semble parfaitement acceptable. Je ne vois aucune raison de chercher directement à partir des fichiers de localisation.

Cela devrait vous indiquer que vous utilisez effectivement les appels localisés dans votre application. Vous pourriez probablement même exécuter vos tests sous les différentes locales et cela vous aiderait à vous assurer que vous avez toutes les clés remplies pour chacun. Cela ne me semble pas différent des tests utilisant des appareils, il faut quand même que votre fichier .yml soit correct, et je ne vérifie pas que vous les avez créés correctement, mais cela vous aide à vérifier que vous les avez correctement utilisés dans votre code.

Questions connexes