python - पायथन में यूनिट परीक्षण लिखना: मैं कैसे शुरू करूं?




unit-testing testing (6)

मैंने पाइथन में अपनी पहली उचित परियोजना पूरी की और अब मेरा काम इसके लिए परीक्षण लिखना है।

चूंकि यह पहली बार हुआ जब मैंने एक परियोजना की, यह पहली बार है कि मैं इसके लिए परीक्षण लिख रहा हूं।

सवाल यह है कि , मैं कैसे शुरू करूं? मुझे बिल्कुल पता नहीं है। क्या कोई मुझे कुछ दस्तावेज / ट्यूटोरियल / लिंक / पुस्तक पर इंगित कर सकता है जिसका उपयोग मैं लेखन परीक्षणों से शुरू करने के लिए कर सकता हूं (और मुझे लगता है कि विशेष रूप से यूनिट परीक्षण)

इस विषय पर किसी भी सलाह का स्वागत किया जाएगा।


जैसा कि अन्य ने पहले से ही जवाब दिया है, यूनिट परीक्षण लिखना देर हो चुकी है, लेकिन बहुत देर हो चुकी नहीं है। सवाल यह है कि आपका कोड टेस्ट करने योग्य है या नहीं। दरअसल, मौजूदा कोड को परीक्षण के तहत रखना आसान नहीं है, इसके बारे में एक पुस्तक भी है: विरासत संहिता के साथ प्रभावी ढंग से कार्य करना ( मुख्य बिंदु या अग्रदूत पीडीएफ देखें )।

अब यूनिट परीक्षण लिखना या नहीं, आपका कॉल है। आपको सिर्फ यह पता होना चाहिए कि यह एक कठिन काम हो सकता है। आप यूनिट-परीक्षण सीखने के लिए इसका सामना कर सकते हैं या पहले स्वीकृति (अंत तक अंत) परीक्षण लिखने पर विचार कर सकते हैं, और जब आप कोड बदल देंगे या परियोजना में नई सुविधा जोड़ देंगे तो इकाई परीक्षण लिखना शुरू करें।


पाइथन में इकाई परीक्षण के लिए नोसेटेट शानदार समाधान है। यह unittest आधारित testcases और doctests दोनों का समर्थन करता है, और आप इसे बस सरल कॉन्फ़िगरेशन फ़ाइल के साथ शुरू कर देता है।


मुफ्त पायथन पुस्तक डाइव इन पायथन के पास यूनिट परीक्षण पर एक अध्याय है जो आपको उपयोगी लगेगा।

यदि आप आधुनिक प्रथाओं का पालन करते हैं तो आपको अपनी परियोजना लिखते समय शायद परीक्षण लिखना चाहिए, और जब तक आपकी परियोजना लगभग समाप्त नहीं हो जाती तब तक प्रतीक्षा न करें।

देर से बिट, लेकिन अब आप अगली बार पता है। :)


मेरी राय में, तीन महान पायथन परीक्षण ढांचे हैं जो जांचने के लिए अच्छे हैं।
unittest - मॉड्यूल सभी पायथन वितरण के साथ मानक आता है
nose - अवांछित परीक्षण चला सकते हैं, और कम बॉयलरप्लेट है।
pytest - pytest परीक्षण भी चलाता है, कम बॉयलरप्लेट, बेहतर रिपोर्टिंग, बहुत सी अतिरिक्त अतिरिक्त सुविधाएं हैं

इन सभी की अच्छी तुलना करने के लिए, http://pythontesting.net/start-here पर प्रत्येक के परिचय के माध्यम से पढ़ें।
फिक्स्चर पर और भी अधिक विस्तारित लेख हैं।


यह पायथन में परीक्षण संचालित विकास के लिए एक ट्यूटोरियल है । अब, जस्टिन ने कहा, कोडिंग से पहले या उसके दौरान अपने परीक्षण लिखना बेहतर है, और इस तरह यह ट्यूटोरियल मानता है कि आप काम कर रहे हैं, लेकिन मुझे अभी भी लगता है कि आपको यह उपयोगी लगेगा।

और यहां भाग 2 है


यदि आप unittests का उपयोग करने के लिए नए ब्रांड हैं, तो सीखने का सबसे आसान तरीका अक्सर सबसे अच्छा होता है। उस आधार पर मैं डिफ़ॉल्ट unittest मॉड्यूल के बजाय py.test का उपयोग करने की सलाह देते हैं।

इन दो उदाहरणों पर विचार करें, जो एक ही काम करते हैं:

उदाहरण 1:

import unittest

class LearningCase(unittest.TestCase):
    def test_starting_out(self):
        self.assertEqual(1, 1)

def main():
    unittest.main()

if __name__ == "__main__":
    main()

उदाहरण 2:

def test_starting_out():
    assert 1 == 1

मान लें कि दोनों फाइलों का नाम test_unittesting.py , हम परीक्षण कैसे चला सकते हैं?

उदाहरण 1

$ cd /path/to/dir/
$ python test_unittesting.py

उदाहरण 2:

$ cd /path/to/dir/
$ py.test




testing