[rspec-users] Adding a custom matcher to a controller

Bart Zonneveld zuperinfinite at gmail.com
Wed Jan 14 16:47:32 EST 2009


On 14 jan 2009, at 16:43, David Chelimsky wrote:

> On Wed, Jan 14, 2009 at 5:34 AM, Bart Zonneveld <zuperinfinite at gmail.com 
> > wrote:
>>
>> On 14-jan-2009, at 12:10, aslak hellesoy wrote:
>>
>>> On Wed, Jan 14, 2009 at 11:12 AM, Bart Zonneveld <zuperinfinite at gmail.com 
>>> >
>>> wrote:
>>>>
>>>> Hey list,
>>>>
>>>> I've written a custom matcher (http://gist.github.com/46858)  
>>>> which I'd
>>>> like to use in Cucumber specifically.
>>>> In my spec_helper, I have required the file where the matcher  
>>>> lives in,
>>>> and added it to Spec::Runner.configure.
>>>> In one of my cucumber steps, I have:  response.should  
>>>> have_notice("foo").
>>>> However, when I run the feature, I get the following error:
>>>> undefined method `has_notice?' for
>>>> #<ActionController::CgiResponse:0x308fc84> (NoMethodError)
>>>> Note the has_notice?...
>>>>
>>>> Any ideas on how to add this matcher to the response?
>>>
>>> World do |world|
>>> world.extend(Matchers)
>>> world
>>> end
>>
>> Thanks, now my matcher did get included. However, I'm trying to use  
>> have_tag
>> (as in http://gist.github.com/46868), and I get this error:
>> undefined method `have_tag' for #<Matchers::HaveNotice:0x2e4a5c8>
>> (NoMethodError)
>> Any ideas on how to make have_tag available in my custom matcher?
>
> Gotta include the rspec-rails matchers as well (or webrat if you're
> using those).

Uhm, yeah, but how? :)
I've included this in spec_helper, so I thought the webrat/rspec-rails  
matchers were included automatically...

thanks,
bartz


More information about the rspec-users mailing list