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

Bart Zonneveld zuperinfinite at gmail.com
Wed Jan 14 06:34:31 EST 2009


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?

thanks,
bartz

> Documented here:
>
> http://wiki.github.com/aslakhellesoy/cucumber/a-whole-new-world

Not particularly useful in this case, but if I have some spare time  
today, I'll try to update the docs.



More information about the rspec-users mailing list