belongs_to 나는 프로젝트에 속하는 제안 모델을 가지고 : 프로젝트, : has_one => : 제안 "레일 테스트
이제 이것을 proposals_controller_test.rb를 통해 테스트하고 싶습니다.
test "should show proposal" do
get :show, :id => proposals(:one).to_param
assert_response :success
end
그러나 "rake test"는 계속이 사실을 알려주고 있으며 해결 방법을 모릅니다. 아마 너희들에게는 정말 쉽지만 내게는 새로운 사람이야.
# should show proposal - test/functional/proposals_controller_test.rb
def show
@project = Project.find(params[:project_id])
@proposal = @project.proposal
respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @proposal }
end
end
짧은 여행에 "스크립트/콘솔"수율 : "스크립트/콘솔 테스트"이 표시
Loading development environment (Rails 2.3.4)
>> t = Project.first
=> #<Project id: 1, name: "Test">
>> t.proposal
=> #<Proposal id: 2, active: true, project_id: 1>
반면 :
여기1) Error:
test_should_show_proposal(ProposalsControllerTest):
ActiveRecord::RecordNotFound: Couldn't find Project without an ID
app/controllers/proposals_controller.rb:18:in `show'
/test/functional/proposals_controller_test.rb:34:in `test_should_show_proposal'
내 컨트롤러 쇼 논리입니다
Loading test environment (Rails 2.3.4)
>> t = Project.first
=> #<Project id: 298486374, name: "Test">
>> t.proposal
=> nil
엉뚱한 ID?!?! 테스트 env에서 연결을 도와주세요!
링크를 업데이트하는 중입니다. http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html입니다. 이것은 매우 도움이되었다, 감사합니다! 초기에는 직관적으로 카운터를 직관적 인 것으로 보았지만 생성 된 ID의 사용을 고려할 때 의미가 있습니다. – Ethan