Re: undefined method `post'' and ''assigns''

Yennie
2011-07-06T20:18:04Z

On Jul 6, 3:34 pm, Frederick Cheung
<frederick.che...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
wrote:
> On Jul 6, 8:19 pm, Yennie
<joanne0...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
>
> > Hi,
>
> > I have an error of undefined method.
> > can anyone help me to solve it.
> > I follow the tutorial to practicing testing controller of rails, and
> > now i got stuck with the error.. plz help
>
> rspec probably doesn''t understand that you''re testing a
controller.
>
> if your spec file looks like
>
> require ''spec_helper''
>
> describe SomeController do
> ...
> end

I did like that

require ''spec_helper''

describe "UserController" do
  describe "GET index" do
    it "should be successful" do
      get ''index''
      response.should be_success
    end

    it "render the index template" do
      get :index
      response.should render_template(''index'')
    end

     it "assigns all users as @users" do
       u =  Factory(:user)
       get :index
       assigns[:users].should == [p]
     end

  end
end

but i gives me error of require (first line), However I have
spec_helper.rb in spec directory

plzz help

>
> then it should detect that you''re speccing a controller
> Fred
>
>
>
>
>
>
>
> > error:
> > undefined method `post'' for
> > #<Spec::Example::ExampleGroup::Subclass_1:0xb7754114>
> > undefined method `assigns'' for
> > #<Spec::Example::ExampleGroup::Subclass_1:0xb785d1b4>
>
> > Test file
>
> > describe "GET Index" do
> >   def mock_product(stubs={})
> >   @mock_user ||= mock_model(User, stubs).as_null_object
> >   end
>
> >   def setup
> >     @user = User.new
> >   end
>
> >     it "assigns all users as @users" do
> >     @user.stub(:all){[mock_user]}
> >     post ''index''
> >     assigns(:users).should eq([mock_user])
> >     end
> > end
>
> > please give me some help ..
>
> > thanks
> > Yennie