On May 27, 2008, at 9:35 AM, Rick DeNatale wrote:

On Tue, May 27, 2008 at 8:46 AM, David Chelimsky <[EMAIL PROTECTED]> wrote:

On May 26, 2008, at 7:22 PM, Tim Glen wrote:

So I find myself wondering - is this the case for just helper modules or all modules? For instance, I have a module which gets included into some controllers, but I'd like to spec against it directly so I don't have in those other controllers... I'm not sure how to set this up. What's the best
practice?

First of all, don't ever believe anybody when they tell you something is
a best practice.

That said - here's what I *usually* do:

describe WhizBangModule do
it "should do something" do
whiz_banger = Object.new
whiz_banger.extend WhizBangModule
whiz_banger.whiz.should == "bang"
end
end

or something like that. Make sense?


Yes, that makes sense.

I like that as far as it goes, but I'm wondering if there's a way to take it one step further and actually have it extend the typical controller functionality - some of my methods make use of the session, or set some assigns, for instance. I'd love to be able to test it as if it were in a controller already, with all the spec goodness that comes along with that.

I can set up what you've done here to answer _like_ a controller, but that
seems silly given that the same functionality is potentially already
available. I could also spec it in the context of one of the controllers
that includes it already, but that seems too specific.

class WhizBangController < ActionController::Base
include WhizBangModule
end

describe WhizBangController, "including WhizBangModule", :type =>
:controller do
it "should do something" do
  controller.whiz.should == "bang"
end
end

Is this change something which should be highlighted for those who
don't follow the mailing list?

It doesn't seem to be mentioned in the changes list
http://rspec.info/changes.html

It's there:

Deprecation warnings for specs that assume auto-inclusion of modules.

Just not highlighted. I'll add something.



--
Rick DeNatale

My blog on Ruby
http://talklikeaduck.denhaven2.com/
_______________________________________________
rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users

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

Reply via email to