rspec可以测试视图以确保视图语法/帮助程序没有错误吗?

时间:2011-04-17 00:43:06

标签: ruby-on-rails ruby rspec

使用rspec,是否可以测试视图以确保视图中的所有语法都没有任何错误?

视图调用帮助程序,它们可能引用控制器/操作名称,如controller => 'blah',action => 'show'等。

如果我重命名/删除控制器,我想确保如果我的视图引用它们,我的测试会失败。

1 个答案:

答案 0 :(得分:0)

有几件事:

1)我不建议在您的视图中的任何位置使用:controller:action,因为RESTful帮助程序要短得多。例如:

:controller => :projects, :action => "show", :id => 1

VS。

project_path(1)

2)不要以这种方式测试语法错误,而是使用适当的集成测试来测试应用程序,执行用户所做的相同操作。通常,这是由RSpec + Capybara或Cucumber提供的。


既然我们已经完成了手续,您可以将控制器测试的describe更改为:

 describe ProjectsController
   render_views

默认情况下,RSpec控制器测试中的视图被删除,这意味着它们不会被访问。将render_views放入describe(或context)块中,即可启用此选项。