rspec测试视图与国际化?

时间:2009-11-13 10:44:47

标签: ruby-on-rails unit-testing testing rspec cucumber

我想确保在我的视图中有正确的meta desc / keyword和title文本,所以我想为此创建rspec视图测试。现在真正的挑战是如何使它跨多种语言工作。

我这样做的方式是:

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

因为在这个例子中,“要求”是硬编码的,所以我很难弄清楚如何在我的config / locale /中为所有其他语言做同样的事情。

我不确定这是否是最好的方法,或者我应该像这样从locale / lang.yml中获取文本:

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

由于

1 个答案:

答案 0 :(得分:3)

这似乎完全可以接受。我认为没有理由直接从本地化文件中获取。

它应该能够很好地表明您确实在整个应用程序中使用了本地化调用。您甚至可以在不同的区域设置下运行测试,这将有助于您确保为每个区域填写所有密钥。

除了使用灯具进行测试之外,它没有任何不同,它仍然需要您的.yml文件正确,并且不会检查以确保您已正确创建它们,但它确实帮助您检查你已经在代码中正确使用它们了。