2016-12-21 6 views
1

ブロック#updateは実行されません。どうして?それらをすべて実行する方法を変更する方法。 #anythingは問題なく動作します。rspecは最初のテストケースを実行しません

describe UsersController, type: :controller do 
    login_admin 

    describe '#update' do 
    def user_update_params(roles:) 
     { 
     role_ids: roles.map(&:id), 
     name: 'new' 
     } 
    end 

    shared_examples_for 'update user' do 
     it 'change the user' do 
     expect do 
      put :update, id: user.id, user: user_params 
     end.to change { user.reload.name } 
     end 
    end 
    end 

    describe '#anything' do 
    it 'is ok' do 
     #runs ok 
    end 
    end 
end 

答えて

1

これは共有の例であり、実際のテストではありません。それは他のテストグループに含まれることになっています。このように:

describe '#whatever' do 
    it_behaves_like 'update user' 

    it 'runs shared example' do 
    end 
    end 
関連する問題