[rspec-users] Test HTML output from Rails helper

Scott Taylor mailing_lists at railsnewbie.com
Sat Oct 18 05:50:22 EDT 2008


On Oct 18, 2008, at 4:40 AM, Thomas Watson Steen wrote:

> Hi
>
> I'm using RSpec in with Ruby on Rails. I've made a helper module  
> method that generates some HTML and would like to create a rspec  
> test to validate this HTML. I can of cause use regex to validate it  
> as a string, but would much rather validate it by traversing the DOM  
> and checking that the elements I expect is present. Any pointers?

No - that's not really an option.  The rails stack has no idea about a  
DOM.

One option, though, is to stub methods and use message expectations.   
For instance, if you had a helper like the following:

module MyHelper
   def my_method(a_name)
     link_to(a_name, {:controller => "foo", :action => "foo"})
   end
end

You'd be able to write a spec like the following:

it "should link with the correct name" do
   helper.should_receive(:link_to).with("foo", {:controller =>  
"foo", :action => "foo"})
   helper.my_method("foo")
end

Hope that helps,

Scott



More information about the rspec-users mailing list