2011-05-23 136 views
-1

此代碼由於結束錯誤而未運行。我無法弄清楚什麼是錯的。RSPEC測試未運行,結束錯誤

require 'spec_helper' 

describe UsersController do 
    render_views 

    describe "GET 'show'" do 

    before(:each) do 
     @user = Factory(:user) 
    end 
    it "should be succesful" do 
     get :show, :id => @user 
     response.should be_success 
    end 

    it "should find the right user" do 
     get :show, :id => @user 
     assigns(:user).should == @user 
    end 
    it "should include the user's name" do 
     get :show, :id => @user 
     response.should have_selector("h1", :content => @user.name) 
    end 
    end 



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


    describe "POST 'create'" do 

    describe "failure" do 

     before(:each) do 
     @attr = { :name => "", :email => "", :password => "", 
        :password_confirmation => "" } 
     end 

     it "should have the right title" do 
     post :create, :user => @attr 
     response.should have_selector('title', :content => "Sign up") 
     end 

     it "should render the 'new' page" do 
     post :create, :user => @attr 
     response.should render_template('new') 
     end 



     it "should not create a user" do 
     lambda do 
      post :create, :user => @attr 
     end.should_not change(User, :count) 
     end 
    end 

    describe "success" do 

     before(:each) do 
     @attr = { :name => "New User", :email => "[email protected]", 
        :password => "foobar", :password_confirmation => "foobar" } 
     end 

     it "should create a user" do 
     lambda do 
      post :create, :user => @attr 
     end.should change(User, :count).by(1) 
     end 

     it "should redirect to the user show page" do 
      post :create, :user => @attr 
     response.should redirect_to(user_path(assigns(:user))) 
     end 

     it "should have a welcome message" do 
     post :create, :user => @attr 
     flash[:success].should =~ /welcome to the sample app/i 
     end 

     it "should sign the user in" do 
     post :create, :user => @attr 
     controller.should be_signed_in 
     end 
    end 
end  
     describe "GET 'edit'" do 

     before(:each) do 
      @user = Factory(:user) 
      test_sign_in(@user) 
     end 

     it "should be successful" do 
      get :edit, :id => @user 
      response.should be_success 
     end 

     it "should have the right title" do 
      get :edit, :id => @user 
      response.should have_selector("a", :href => gravatar_url, :content =>  "change") 
    end 

    it "should have a link to change the Gravatar" do 
     get :edit, :id => @user 
    response.should have_selector('a', :href => 'http://gravatar.com/emails', 
               :content => "change") 
    end 

    describe "PUT 'update'" do 

     before(:each) do 
     @user = Factory(:user) 
     test_sign_in(@user) 
     end 

     describe "failure" do 

     before(:each) do 
      @attr = { :email => "", :name => "", :password => "", 
        :password_confirmation => "" } 
     end 

     it "should render the 'edit' page" do 
      put :update, :id => @user, :user => @attr 
      response.should render_template('edit') 
     end 

     it "should have the right title" do 
      put :update, :id => @user, :user => @attr 
      response.should have_selector("title", :content => "Edit user") 
     end 
     end 

     describe "success" do 

     before(:each) do 
      @attr = { :name => "New Name", :email => "[email protected]", 
        :password => "barbaz", :password_confirmation => "barbaz" } 
     end 

     it "should change the user's attributes" do 
      put :update, :id => @user, :user => @attr 
      @user.reload 
      @user.name.should == @attr[:name] 
      @user.email.should == @attr[:email] 
     end 

     it "should redirect to the user show page" do 
      put :update, :id => @user, :user => @attr 
      response.should redirect_to(user_path(@user)) 
     end 

     it "should have a flash message" do 
      put :update, :id => @user, :user => @attr 
      flash[:success].should =~ /updated/ 
     end 
     end 
    end 
    end 

回答

0

看起來像一個年底從組後

describe "GET 'edit'" do 

你可能已經想通了這一點遺漏通過一次註釋掉一大塊,直到你不再有一個語法錯誤。