मुझे पूरा यकीन है कि मुझे यहां कुछ मूलभूत याद आ रही है।रुपेक और फैक्टरी गर्ल के साथ पहले_सेव कॉलबैक का परीक्षण
मैं परीक्षण करना चाहता हूं कि before_save
कॉलबैक ऐसा करता है जो इसे करने के लिए किया जाता है, न केवल इसे कहा जाता है।
मैं निम्नलिखित परीक्षण लिखा है:
it 'should add lecture to question_type' do
@course = Factory :course,
:start_time => Time.now - 1.hour,
:end_time => Time.now
@question = Factory.create(:question,
:course_id => @course.id,
:created_at => Time.now - 10.minutes)
@question.question_type.should == 'lecture'
end
और मैं course
और question
निम्नलिखित कारखानों है
before_save :add_type_to_question
protected
def add_type_to_question
@course = Course.find(self.course_id)
now = Time.now
if (time_now > lecture_start_time && time_now < lecture_end_time) && @course.lecture_days.map{|d| d.to_i}.include?(Time.now.wday)
self.question_type = "lecture"
end
end
:
Factory.define :course do |c|
c.dept_code {"HIST"}
c.course_code { Factory.next(:course_code) }
c.start_time { Time.now - 1.hour }
c.end_time { Time.now }
c.lecture_days { ["Monday", Time.now.strftime('%A'), "Friday"] }
end
Factory.define :question do |q|
q.content {"Why don't I understand this class!?"}
q.association :course
end
और मैं अपने Question
मॉडल में निम्नलिखित कॉलबैक लिखा था
परीक्षण एफ रखता है बीमार ने कहा कि 'लेक्चर'
के बाद प्रश्नोत्तरी के लिए "मिला: शून्य", क्योंकि मैंने अपने कार्यान्वयन कोड के साथ कुछ भी गलत रूप से गलत नहीं देखा, इसलिए मैंने अपने विकास पर्यावरण में कॉलबैक की कोशिश की और वास्तव में इसे 'व्याख्यान' जोड़ने में काम किया प्रश्न प्रकार।
इससे मुझे लगता है कि मेरे परीक्षण में कुछ गड़बड़ हो सकती है। मुझे यहां क्या समझ नहीं आ रहा है? क्या Factory.create
डिफ़ॉल्ट रूप से कॉलबैक छोड़ देता है?
पहले से पहले सेव करने की कोशिश करें – cpuguy83