0
나는 RSpec 테스트에 실패하고 난 이유를 모르겠다. 누군가 내가 실수를하는 곳을 볼 수 있도록 도와주기를 바라고 있습니다.레일즈 RSpec은 레코드 대신에 Nil을 반환 함
작업은 단순히 시험은 전무 대신 GroupMember 내 기대 값으로 반환되고 있음을 말하는 실패 group_member.status == "approved"
으로 주어진 User
에 대한 GroupMember
기록을 가져옵니다.
내 개발 환경에서보기 때문에보고 있다는 것을 알고 있습니다.
# users_controller
def groups
@group_member = current_user.group_members.approved
end
# user.rb
has_many :group_members, :dependent => :destroy
# routes.rb
resources :users do
collection do
get 'groups'
end
end
# group_member.rb
belongs_to :user
scope :approved, where(:status=>"approved")
# users_controller_spec.rb
describe "GET #groups" do
before :each do
@user = FactoryGirl.create(:user)
current_user = sign_in @user
@group_member = FactoryGirl.create(:group_member, user_id: @user.id, status: "approved")
end
it "assigns group member correctly" do
get :groups
assigns[:group_member].should eq [@group_member]
end
end
'sign_in @ user'가 실제로 current_user를 반환하는지 확인할 수 있습니까? 또한'current_user'를'@ current_user'로 변경하려고합니다. –
안녕하세요 Jason, current_user 행을 It 블록으로 옮기려고했는데 current_user를'@ current_user'로 설정하려고 시도하고 get : groups, current_user : '@ current_user'. 그것의 아무도는 그러나 일하지 않았다. – yellowreign
'sign_in' 방법을 보여줄 수 있습니까? –