【发布时间】:2012-03-05 12:07:18
【问题描述】:
如何在不使用完整 Rails 堆栈的情况下测试我的 ActionView 扩展(例如新助手)?
我使用 RSpec,所以我必须以某种方式从 spec_helper.rb 的 /spec/views/ 文件夹中呈现模板。最好的方法是什么?
【问题讨论】:
标签: ruby-on-rails-3 actionview
如何在不使用完整 Rails 堆栈的情况下测试我的 ActionView 扩展(例如新助手)?
我使用 RSpec,所以我必须以某种方式从 spec_helper.rb 的 /spec/views/ 文件夹中呈现模板。最好的方法是什么?
【问题讨论】:
标签: ruby-on-rails-3 actionview
我可能不会回答您的问题,但您可以将 RSpec 与 rspec-rails gem 一起使用。无需在 Rails 堆栈之外进行测试。
https://github.com/rspec/rspec-rails
这是一个例子:
describe "lists/show.html.erb" do
before(:each) do
assign :new_link, Link.new
@link = mock_model(Link,
:title => "Link's title",
:url => "http://wwww.link.s.url/")
@list = mock_model(List,
:title => "Some title",
:links => [@link])
end
it "displays the list's title" do
render
rendered.should have_content(@list.title)
end
it "displays the links's title and URL" do
render
rendered.should have_link(@link.title,
:href => @link.url)
end
end
您必须调整您的 Gemfile(参见后面的链接)并运行 bundle update 和 rails rspec:install。
【讨论】: