सभी उपयोग के उदाहरण

नए कोड के लिए ऑटो-जनरेट टेस्ट कवरेज

Zero मर्ज किए गए PR को बिना-टेस्ट वाली फ़ाइलों के लिए स्कैन करता है, आपके कन्वेंशन का पालन करते हुए टेस्ट लिखता है, और एक PR खोलता है ताकि आप हर दिन की शुरुआत बेहतर कवरेज के साथ करें।

Zero जुड़ता है:GitHubLinearSlack

Zero क्या डिलीवर करता है

समस्या क्या है

मंगलवार की सुबह है। CI लाल है - रातोंरात कवरेज 82% से गिरकर 79% हो गई क्योंकि किसी ने ज़ीरो टेस्ट के साथ एक नया फ़ीचर मर्ज कर दिया। फिर से। आप अपना काम रोककर उनका कोड पढ़ सकते हैं और खुद टेस्ट लिख सकते हैं। या आप Zero से हर सुबह 4 AM पर यह करवा सकते हैं, ताकि जब आप बैठें, तो रिव्यू के लिए पहले से एक टेस्ट PR तैयार हो।

Zero इसे कैसे ठीक करता है

चरण 1: अपने tools कनेक्ट करें

GitHub
GitHub
ज़रूरी
GitHub - मर्ज किए गए PR और बदली गई फ़ाइलों को स्कैन करने के लिए रीड एक्सेस। जनरेट किए गए टेस्ट के साथ pull request खोलने के लिए राइट एक्सेस।
जोड़ें
Slack
Slack
ज़रूरी
Slack - आपके टीम चैनल पर जनरेट किए गए टेस्ट और CI परिणामों का सारांश पोस्ट करता है।
जोड़ें
Linear
Linear
वैकल्पिक
useCases.content.auto-test-coverage.integrations.2.description
जोड़ें

चरण 2: Zero से पूछें

@Zero vm0-ai/vm0 में पिछले 24 घंटों के सभी मर्ज किए गए PR चेक करो। हर बदली गई फ़ाइल जिसकी कोई संबंधित टेस्ट फ़ाइल नहीं है, उसके लिए प्रोजेक्ट के टेस्टिंग पैटर्न का पालन करते हुए इंटीग्रेशन टेस्ट लिखो। सभी नए टेस्ट के साथ एक ही PR खोलो।
Zero मर्ज किए गए PR को बिना-कवर वाली फ़ाइलों के लिए स्कैन करता है
Zero हाल ही में मर्ज किए गए pull request के लिए GitHub से क्वेरी करता है, हर बदली गई फ़ाइल को सूचीबद्ध करता है, और आपकी टेस्ट डायरेक्टरी के विरुद्ध क्रॉस-रेफरेंस करता है। जिन फ़ाइलों की कोई संबंधित टेस्ट फ़ाइल नहीं है उन्हें कवरेज के लिए फ़्लैग किया जाता है।
Zero आपके प्रोजेक्ट के कन्वेंशन का पालन करते हुए टेस्ट लिखता है
Zero सोर्स फ़ाइल पढ़ता है, कंपोनेंट या फ़ंक्शन के इंटरफ़ेस को समझता है, आपके मौजूदा टेस्ट पैटर्न (फ़्रेमवर्क, imports, helpers, assertion style) की जाँच करता है, और ऐसे टेस्ट लिखता है जो उसी संरचना, उन्हीं पैटर्न, और उसी क्वालिटी स्तर के साथ घुल-मिल जाएँ।
Zero एक PR खोलता है और सारांश पोस्ट करता है
सभी जनरेट किए गए टेस्ट एक ही pull request में आते हैं, जिसमें कवर की गई चीज़ों का स्पष्ट विवरण होता है। Zero Slack पर एक सारांश टेबल पोस्ट करता है जो दिखाती है कि किन फ़ाइलों को टेस्ट मिले और कितने। CI अपने आप चलता है, और Zero परिणाम के साथ फ़ॉलो-अप करता है।

चरण 3: इसे और आगे ले जाएँ

टेस्ट PR रिव्यू करें और मर्ज करें
जनरेट किए गए टेस्ट चेक करें और अगर ठीक लगें तो मर्ज करें।
@Zero टेस्ट PR #10153 पर CI स्टेटस क्या है?
जनरेट या कॉन्फ़िग फ़ाइलें बाहर रखें
Zero को बताएँ कि कौन सी फ़ाइलें छोड़नी हैं ताकि यह सार्थक कवरेज पर फ़ोकस करे।
@Zero जब टेस्ट ऑटो-कवर करो, तो generated/, *.d.ts, और कॉन्फ़िग फ़ाइलों को छोड़ दो
इसे नियमित बनाएँ
रोज़ाना टेस्ट जनरेशन शेड्यूल करें ताकि कवरेज फिर कभी न गिरे।
@Zero हर दिन 4 AM पर, बिना टेस्ट वाले मर्ज किए गए बदलावों के लिए स्कैन करो, उन्हें लिखो, और एक PR खोलो

बेहतर परिणामों के लिए सुझाव

अपने टेस्ट फ़्रेमवर्क और पैटर्न के बारे में स्पष्ट रहें - "vitest का उपयोग @testing-library/react के साथ करो, arrange-act-assert पैटर्न का पालन करो" बहुत बेहतर आउटपुट देता है।
इसे रात भर चलाएँ ताकि टीम के काम शुरू करने तक टेस्ट PR रिव्यू के लिए तैयार हो। 4 AM एक अच्छा डिफ़ॉल्ट है - यह किसी भी देर-रात के मर्ज के बाद चलता है।
व्यापक कोड स्वास्थ्य के लिए tech-debt-scan के साथ चेन करें: tech debt एंटी-पैटर्न पकड़ता है, auto-test-coverage गैप पकड़ता है, मिलकर वे आपके कोडबेस को साफ़ रखते हैं।