我应该将视图字符串放入yaml文件中以便于测试吗?

时间:2012-12-04 15:49:28

标签: ruby-on-rails testing internationalization integration-testing

对于集成测试,我会检查页面内容,以确保用户能够看到我想要的内容。

例如:

it "shows list of articles" do
    get :articles
    response.body.should have_content("Articles found:")
end

在文章视图的某处,有这一行:

<h1>Articles found:</h1>

我想摆脱字符串欺骗,使代码更容易维护和测试更稳固。我正在考虑将这些字符串放入config / locales / en.yml,然后执行类似这样的操作

it "shows list of articles" do
    get :articles
    response.body.should have_content(I18n.t('title'))
end

并在视图中:

<h1><%=t :title %></h1>

从长远角度来看是否有意义还是有更好/标准化的方式?

1 个答案:

答案 0 :(得分:1)

我不会,国际化的字符串是供人阅读的。

作为替代方案,看看你是否可以通过选择更具确定性的方式来构建文档。

it "shows list of articles" do
    get :articles
    assert_select "h1.articles-title"
end

在视图中。

<h1 class="articles-title"><%=t :title %></h1>

虽然我理解您的原始测试用例断言是否存在正确的标题,但我认为像这样的一般集成测试的最大好处是存在标题