मैं इन दिनों rspec में हूं, मेरे मॉडल को अधिक सटीक और सटीक बनाने की कोशिश कर रहा हूं। आरएसपीईसी के बारे में कुछ चीजें अभी भी मेरे लिए थोड़ा अजीब हैं और इसलिए मैंने सोचा कि अगर कोई स्पष्टीकरण दे तो यह अच्छा होगा।रुपयेपेक रेल - नाम मान्य होना चाहिए - कुछ स्पष्टीकरण
मान लें कि मेरे पास एक उपयोगकर्ता मॉडल है। इस के पास एक है: नाम। नाम 4..15 वर्णों के बीच होना चाहिए (यह एक माध्यमिक उद्देश्य है, पहले यह केवल अस्तित्व में होना चाहिए)। तो अब मैं सोच रहा हूं: इस तरह परीक्षण करने का सबसे अच्छा तरीका क्या है कि यह सुनिश्चित करेगा कि यह होगा।
describe User do
let(:user) { User.new(:name => 'lele') }
it "is not valid without a name" do
user.name.should == 'lele'
end
end
अब, मैं काफी यकीन है कि यह वास्तव में मैं क्या चाहते सिद्ध नहीं कर रहा हूँ: परीक्षण करने के लिए है कि एक उपयोगकर्ता एक नाम होना आवश्यक है, मैं कुछ इस तरह लिखा था। ऐसा लगता है कि मैं वास्तव में इस के साथ रेल का परीक्षण कर रहा हूं। इसके अलावा, अगर मैं यह जांचना चाहता हूं कि एक नाम 15 से अधिक वर्ण और 4 से कम नहीं हो सकता है, तो यह कैसे एकीकृत किया जा सकता है?
संपादित करें:
शायद यह बेहतर है?
describe User do
let(:user) { User.new(:name => 'lele') }
it "is not valid without a name" do
user.name.should_not be_empty
end
end
ध्यान दें कि सभी .create! विधियों ने डेटाबेस को मारा और परीक्षण ~ 100x गुना धीमा कर दिया। आप धीमेपन से बच सकते हैं और अभी भी @Dylan Markow के निर्देशों का उपयोग करके वैधता की जांच कर सकते हैं। – aaandre