क्या यूनिट परीक्षण ActiveRecord सत्यापन के लिए आवश्यक है या वे पहले से ही अच्छी तरह से परीक्षण किए गए हैं और इसलिए पर्याप्त विश्वसनीय हैं?क्या यूनिट परीक्षण ActiveRecord सत्यापन के लिए आवश्यक है?
उत्तर
मान्यताओं प्रति से भरोसेमंद होना चाहिए, लेकिन आप यह जांचना चाहेंगे कि सत्यापन मौजूद है या नहीं।
दूसरे शब्दों में रखो, कुछ परीक्षण करने का एक अच्छा तरीका यह है कि यह एक काला बॉक्स था, कार्यान्वयन से परीक्षणों को सारणित करना, उदाहरण के लिए आपके पास एक परीक्षण हो सकता है जो जांचता है कि एक व्यक्ति मॉडल सहेजा नहीं जा सकता बिना किसी नाम के, लेकिन इस बात पर परवाह नहीं है कि व्यक्ति वर्ग उस सत्यापन को कैसे करता है।
यह स्वीकार करने के लिए पर्याप्त होना चाहिए कि ActiveRecord जैसे पुस्तकालय डेवलपर्स द्वारा आपके द्वारा कभी भी आपके द्वारा किए जाने वाले बेहतर परीक्षण किए जाते हैं: उनके लिए यह एक प्राथमिक चिंता है, क्योंकि यह आपके लिए सबसे अच्छा स्पर्श है।
यह कहना नहीं है कि वहां बग नहीं होंगे - मुझे एक बार बहुत समय पहले एक छोटा एमएस एसक्यूएल सर्वर एडाप्टर मिला था - लेकिन जिस तरह की परीक्षा आप लागू करने की संभावना है, उन्हें बेनकाब करने की संभावना बहुत कम है वे किनारे के मामलों की संभावना है। यदि आप करते हैं बग ढूंढें, ज़ाहिर है, यदि आप इसे किसी टेस्ट केस के साथ रिपोर्ट करते हैं तो यह शायद बहुत उपयोगी है!
यदि मैं लाइब्रेरी लागू करता है तो बेहतर एक बेहतर पहलू को समझने की कोशिश कर रहा था, तो मैं केवल ActiveRecord internals का परीक्षण करूंगा। मैं किसी भी एप्लिकेशन प्रोजेक्ट में उन खोजी परीक्षणों को शामिल नहीं करूंगा, क्योंकि वे परियोजना के लिए वास्तव में प्रासंगिक नहीं हैं।
सामान्य रूप से, आपको कोड के लिए परीक्षण लिखना चाहिए जो आप स्वयं लिखते हैं: यदि आप रहते हैं या टीडीडी दुनिया में रहने का प्रयास करते हैं, तो परीक्षण पहले लिखा जाना चाहिए। यदि आपके मॉडल में सत्यापन नियम हैं तो नियमों को सुनिश्चित करने के लिए आपको निश्चित रूप से परीक्षण लिखना चाहिए। ज्यादातर मामलों में, परीक्षण छोटे होंगे, लेकिन भविष्य में कुछ समय अनजाने में हटाए जाने पर वे वास्तव में उपयोगी होंगे ...
जैसा कि माइक ने लिखा था, कम से कम आपको यह जांचना चाहिए कि सत्यापन मौजूद है । यह केवल डबल-एंट्री एकाउंटिंग (सैनिटी चेक) का थोड़ा सा है जो करना काफी आसान है।
स्थिति के आधार पर, आपको यह भी जांचना चाहिए कि आपका मॉडल विशिष्ट परिस्थितियों में मान्य या अमान्य है। उदाहरण के लिए यदि आपके क्षेत्र को एक निश्चित प्रारूप की आवश्यकता है, तो उदाहरण प्रारूपों का परीक्षण करें जो वैध हैं और जो नहीं हैं। यह देखने के लिए अपने परीक्षण में कुछ उदाहरण पढ़कर इसका क्या मतलब है बहुत आसान है:
class Person < ActiveRecord::Base
validates_format_of :email,
:with => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i
end
हाँ, सत्यापन काफी अच्छी तरह से परीक्षण किया और विश्वसनीय कर रहे हैं। लेकिन सत्यापन का आपका सही उपयोग वह है जिसे आप सत्यापित करना चाहते हैं।
एक साइड नोट के रूप में, रयान बिग के ब्लॉग पोस्ट has_and_belongs_to_many double insert में किसी व्यक्ति को ActiveRecord में एक बग का सामना करना पड़ता है (हालांकि सत्यापन से संबंधित नहीं है)। जैसा कि वह बताते हैं, मान लीजिए कि रेलों में संभवतः एक बग नहीं हो सकता है, क्योंकि हम जानते हैं कि रेल के लिए 900 खुले टिकट हैं।
लेकिन हां, मुख्य कारण यह है कि आप एक परीक्षा लिखना चाहते हैं यह जांचना है कि ActiveRecord का आपका उपयोग सही है।
- 1. यूनिट-परीक्षण और सत्यापन तर्क
- 2. यूनिट परीक्षण क्या है?
- 3. यूनिट परीक्षण - क्या यूनिट टेस्ट कॉल करने के लिए यह खराब फॉर्म है अन्य यूनिट परीक्षण
- 4. परीक्षण सत्यापन त्रुटियों के लिए सरल वाक्यविन्यास
- 5. यूनिट परीक्षण के लिए स्टब्स के साथ क्या गलत है?
- 6. यूनिट परीक्षण? कैसे? क्या?
- 7. यूनिट परीक्षण
- 8. क्या जीएनयू बनाने के लिए यूनिट परीक्षण ढांचा है?
- 9. क्या यूनिट परीक्षण के लिए कोड जोड़ना बुरा है?
- 10. यूनिट परीक्षण दाबाबेस अनुप्रयोग
- 11. यूनिट परीक्षण
- 12. एएसपी.नेट एमवीसी गैर-आवश्यक फ़ील्ड के लिए सत्यापन जोड़ता है
- 13. क्या कोई इकाई यूनिट परीक्षण क्रमबद्धता है?
- 14. "संदेश आवश्यक है" के लिए डिफ़ॉल्ट संदेश "सत्यापन त्रुटि: मान आवश्यक है"
- 15. क्या एक यूनिट परीक्षण है जो ज्यादातर नकली सत्यापन गंध है?
- 16. यूनिट परीक्षण उपयोगकर्ता इंटरफ़ेस। एक प्रभावी तरीका क्या है?
- 17. PHP में यूनिट परीक्षण?
- 18. जावा में यूनिट परीक्षण - यह क्या है?
- 19. क्या आपके एनयूनीट यूनिट परीक्षण
- 20. यूनिट परीक्षण
- 21. टीडीडी: क्या यह एकीकरण परीक्षण करने के लिए व्यवहार्य है, लेकिन कोई यूनिट परीक्षण नहीं है?
- 22. यूनिट परीक्षण
- 23. कोर jQuery पुस्तकालयों के लिए यूनिट परीक्षण
- 24. Sybase डेटाबेस के लिए यूनिट परीक्षण उपकरण
- 25. यूनिट परीक्षण
- 26. यूनिट परीक्षण
- 27. सी के लिए यूनिट परीक्षण फ्रेमवर्क: तुलना
- 28. यूनिट परीक्षण?
- 29. एचटीएमएल आउटपुट के लिए यूनिट परीक्षण?
- 30. यूनिट परीक्षण