On 8/31/07, David Chelimsky <[EMAIL PROTECTED]> wrote: > On 8/31/07, Shaker <[EMAIL PROTECTED]> wrote: > > > > Hello everyone: > > Right now I am writing spec on modules, which are provided by my > > colleagues. Some of the modules actually contain action methods. I tried > > very hard to spec those action methods in modules. But it seems that the > > rspec does not allow module spec to 'get' action like controller does. After > > I saw the documentation, I then used :behaviour_type=>:controller. However, > > it failed again. It reported an error for me. For illustration, I'd like a > > simple example. > > module MyModule > > def copy #an action method > > render :partial=>"/index", :layout=>false > > end > > end > > > > describe MyModule, :behaviour_type=>:controller do > > it "should render partial index" do > > get 'copy' #test code not provided yet, just want to get the action > > end > > end > > The error reported was: undefined method 'new' for MyModule:Module. Do you > > guys have any idea of the error? And how should I test the action methods in > > modules? > > The ControllerBehaviour is trying to instantiate MyModule. What you'd > need to do is something like this: > > class ControllerThatUsesMyModule > include MyModule > end > > describe ControllerThatUsesMyModule, :behaviour_type=>:controller do > it "should render partial index" do > get 'copy' #test code not provided yet, just want to get the action > end > end > > I haven't tried it, but it seems like it should work. Give it a whirl > and report back please.
Of course, the subject of this thread should smack us all in the face and point in a different direction: describe "any controller", :shared => true do it "should render partial index" do get 'copy' #test code not provided yet, just want to get the action end end # an actual controller - not just for specs class FooController include AnyController end # in spec/controllers/foo_controller_spec.rb describe FooController do it_should_behave_like "any controller" ... #more stuff specific to FooController end > > Cheers, > David > > > Cheers! > > > > > > -- > > View this message in context: > > http://www.nabble.com/Can-module-spec-%22behave-like%22-controller-spec--tf4358891.html#a12422548 > > Sent from the rspec-users mailing list archive at Nabble.com. > > > > _______________________________________________ > > rspec-users mailing list > > rspec-users@rubyforge.org > > http://rubyforge.org/mailman/listinfo/rspec-users > > > _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users