[rspec-users] Testing layouts with RSpec on Rails

Jonathan Linowes jonathan at parkerhill.com
Mon Oct 22 10:40:45 EDT 2007

On Oct 22, 2007, at 12:18 AM, Steve wrote:

> On Tue, 09 Oct 2007 21:12:09 +0100, Matt Patterson wrote:
>> It occured to me that it would be nice to have a spec that would barf
>> if I ever nuked the layout's yield (or, indeed, one of its
>> content_for yields), mainly because they're the integration point
>> between layouts and views, and we're primarily testing them in
>> isolation (a good thing...)
>> I was mainly wondering if anyone had some great practices in testing
>> those integration points, and layout stuff in general, that I could
>> learn from...
>> Matt
> Was there ever any resolution on this? This would be a *very*  
> beneficial
> capability to have for making sure views work as expected.
> Thanks,
> Steve
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users

I'm not sure if this is what you're after but I've created this  
custom matcher to my spec_helper.rb, then in my controller spec I can  

   it "should use application layout" do
     response.should use_layout("application")

# custom matchers
class UseLayout
   def initialize(expected)
     @expected = 'layouts/' + expected
   def matches?(controller)
     @actual = controller.layout
     @actual == @expected
   def failure_message
     return "use_layout expected #{@expected.inspect}, got # 
{@actual.inspect}", @expected, @actual
   def negeative_failure_message
     return "use_layout expected #{@expected.inspect} not to equal # 
{@actual.inspect}", @expected, @actual

def use_layout(expected)

More information about the rspec-users mailing list