Description method and test failures

Hi all,

Hoping you can help. I have a project using rspec 1.1.3 and rails
2.0.2. I’ve run into a small problem. Said project has a method in
application_helper.rb named “description”. Whenever a spec test
fails, I see a message like so:

snip/vendor/plugins/rspec/lib/spec/runner/reporter.rb:37:in
`description’: wrong number of arguments (0 for 2) (ArgumentError)

It just so happens that my description method takes 2 arguments. It
seems that this method is clashing with one of the methods in rspec.
Is there a workaround for this situation? It’s a pain to have to
rename my method everytime I want to see a proper failure message from
rspec.

I’m attaching a full backtrace run with --trace.

Thanks,

e.

[email protected]

“If the answer isn’t violence, neither is your silence!”
– Pop Will Eat Itself, “Ich Bin Ein Auslander”

On Wed, May 14, 2008 at 1:17 AM, EAW [email protected] wrote:

It just so happens that my description method takes 2 arguments. It seems
that this method is clashing with one of the methods in rspec. Is there a
workaround for this situation? It’s a pain to have to rename my method
everytime I want to see a proper failure message from rspec.

I’m attaching a full backtrace run with --trace.

If the first argument to describe() is a module it gets included in
the resulting example group. To avoid this, just make it a String:

describe ‘MyHelperModule’ do

end

In the next release there is a helper object you can use in your
helper examples:

describe HelperModule do
it “should describe something by default” do
helper.description.should == “something”
end
end

In some future release, that is the only way it will work as we will
no longer include the module in the example group. That might be a way
off though.

Cheers,
David

On Wed, May 14, 2008 at 2:17 AM, EAW [email protected] wrote:

It seems that this method is clashing with one of the methods in rspec. Is
there a workaround for this situation? It’s a pain to have to rename my
method everytime I want to see a proper failure message from rspec.

Not to be glib, but you could just rename it one time. :slight_smile:

Seriously though, ‘description’ is an awfully generically named method
to
have exposed to every view in your app. Is that the best name for it?

I followed your advice, with one slight addition. Inside of my
describe block I included the ApplicationHelper manually, so that I
could call the methods in it. Everything is working fine now.

Thanks for your help.

e.

On May 14, 2008, at 6:44 AM, David C. wrote:

snip/vendor/plugins/rspec/lib/spec/runner/reporter.rb:37:in
I’m attaching a full backtrace run with --trace.

Cheers,

       -- Pop Will Eat Itself, "Ich Bin Ein Auslander"

rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users


[email protected]

“If the answer isn’t violence, neither is your silence!”
– Pop Will Eat Itself, “Ich Bin Ein Auslander”