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




unit-testing testing (7)

unittest लिए दस्तावेज़ शुरू करने के लिए एक अच्छी जगह होगी।

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

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

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

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

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


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

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


यदि आप 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

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

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


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

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


मानक पुस्तकालय के साथ unittest आता है, लेकिन मैं आपको nosetests सिफारिश करेंगे।

" नाक परीक्षण को आसान बनाने के लिए सबसे ज्यादा विस्तार करता है। "

मैं आपको pylint भी सिफारिश करता pylint

" पाइथन स्रोत कोड का विश्लेषण करता है जो खराब गुणवत्ता के बग और संकेतों की तलाश में है। "


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







testing