测试Rails模板的渲染

时间:2012-01-19 08:03:45

标签: ruby-on-rails ruby-on-rails-3

在Rails模板中使用.t方法错误

<%= (user.score).t(:context => 'foo') %>

导致错误

   undefined method `t' for 46:Fixnum

该方法在号码上被调用。 现在的问题是如何测试这种情况?测试代码应该存在的地方,所以在渲染之前会测试所有模板吗?

2 个答案:

答案 0 :(得分:1)

这取决于您选择的测试框架。使用rails附带的Test :: Unit内容,您的控制器和集成测试会呈现视图,因此应该捕获此类错误。其他形式的集成测试,如黄瓜也应该选择这样的东西。

如果您使用rspec,那么您可以编写视图规范:单独测试视图渲染的规范。

最后,如果你发现你想要测试的视图中有很多逻辑,你可能最好将这个逻辑提取到帮助器中并为该帮助器编写单元测试/规范。

答案 1 :(得分:0)

AFAIK您不测试模板本身。但你可以测试,例如如果您获得了预期的结果,请使用cucumber。这可能是某种“模板测试”。