기본적으로 마지막 x (변수는 있지만 여기에 x가 20이라고 가정합니다) 업데이트가 주어진 테이블에서 만들어진 코드가 있습니다. 그것을위한 단위 테스트 중 하나에서,이 조각이 :created_at by 단위 테스트에서 생성 된 데이터를 레일로 배열
EditedItem.push_to_queue(hiddennow)
#create some new entries and save them
20.times{ EditedItem.push_to_queue(random_item) }
Queue.get_entries.each{|entry| assert_not_equal too_far_down, entry}
월 또는 꽤되지 않을 수도 있습니다,하지만 그것을 통해 의도를 가져옵니다. get_entries가 호출 될 때 hiddennow 객체가 너무 멀리 큐에 푸시되었습니다. 더 이상 반환되지 않아야합니다.
#this works
SearchObject.find(:all, :order => "id desc")
#this does not, unless the 20.times loop has sleep(1) or something
SearchObject.find(:all, :order => "created_at desc")
이 약간 아래로 단순화되어 있지만 20.times 루프는 충분히 빨리 created_at에 order by 절이 구별 할 수없는 일을 추가하는 것 같습니다. 제 질문은 근본적으로 잘못된 것을하고 있습니까? 그렇지 않다면,이 선을 따라 테스트를 작성하는 더 좋은 방법은 무엇입니까? (레일 특히 그 시간) 파일 및 기록에 관련된
이것은 내가 생각하기에 Rails를 사용하여 배우고 다루는 까다로운 일입니다. – MBHNYC