[rspec-users] Mixing in spec helper methods

Nick Hoffman nick at deadorange.com
Wed Nov 12 15:44:58 EST 2008


On 2008-11-11, at 19:31, Ben Mabey wrote:
> Nick Hoffman wrote:
>> I've written a module for my specs that contains a helper method,  
>> and am mixing the module into my specs with #include . It seems  
>> that the method must be called with an #it block. If it isn't, this  
>> error occurs:
>>
>> ... in `method_missing': undefined method  
>> `it_should_behave_like_an_action_that_sets_the_flash_notice' for  
>> Spec::Rails::Example::ControllerExampleGroup::Subclass_1:Class  
>> (NoMethodError) from ./spec/controllers/ 
>> properties_controller_spec.rb:8
>>
>> Is there a way to call my helper method from outside of an #it  
>> block? Here's the code:
>> http://pastie.org/312680
>>
>> Thanks!
>> Nick
>>
>
> It looks like you want those methods in your module as class method,  
> not instance methods.  Try extending, not including, your module  
> (extend AuthSpecHelpers.)  You might want to read my post about  
> creating rspec macros as well:
> http://www.benmabey.com/2008/06/08/writing-macros-in-rspec/
>
> -Ben

That was post was gold, Ben. It cleared up most of my questions and  
confusion regarding #include, #extend, and mix-ins. Thanks, mate.



More information about the rspec-users mailing list