std.testing से Assertions
expect, expectEqual और संबंधित सुविधाएँ।
std.testing से Assertions, CoddyKit पर Zig Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Zig Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Zig Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
testing नेमस्पेस
Zig के दावे करने वाले सहायक साधन std.testing में रहते हैं। इसे एक छोटे नाम में लाएँ, ताकि आपके परीक्षण ब्लॉक के भीतर हर जाँच साफ़-सुथरी पढ़ी जाए।
const testing = std.testing;बूलियन के लिए expect
सबसे सरल सहायक साधन expect है। यह एक बूलियन लेता है और शर्त के असत्य होने पर परीक्षण विफल कर देता है।
try testing.expect(value > 0);सहायक साधन त्रुटियाँ लौटाते हैं
हर परीक्षण सहायक साधन विफलता पर एक त्रुटि लौटाता है, इसलिए उसके पहले हमेशा try लगाएँ। इसी से परीक्षण रुकता है और रिपोर्ट मिलती है।
मानों के लिए expectEqual
दो मानों की तुलना करने के लिए expectEqual का उपयोग करें। यह समानता जाँचता है और विफल होने पर अपेक्षित तथा वास्तविक, दोनों मान प्रिंट करता है।
try testing.expectEqual(5, add(2, 3));अपेक्षित मान पहले आता है
expectEqual में पहला आर्ग्युमेंट अपेक्षित मान होता है और दूसरा वह मान होता है जो आपके कोड ने बनाया। क्रम विफलता संदेश को प्रभावित करता है।
try testing.expectEqual(42, result);स्लाइस की तुलना
दो स्लाइस तब समान होते हैं, जब उनके तत्व समान हों, उनके पॉइंटर नहीं। expectEqualSlices का उपयोग करें और उसे तत्व का प्रकार बताएँ।
try testing.expectEqualSlices(u8, "hi", out);स्ट्रिंग की तुलना
पाठ के लिए expectEqualStrings दो बाइट स्लाइस की तुलना करता है और उनके अलग होने पर पढ़ने योग्य अंतर दिखाता है, इसलिए यह आउटपुट की जाँच के लिए बहुत उपयोगी है।
try testing.expectEqualStrings("ok", msg);त्रुटि पर दावा करना
कभी-कभी किसी कॉल का विफल होना अपेक्षित होता है। यह दावा करने के लिए कि वह किसी विशिष्ट त्रुटि को लौटाता है, मान को नहीं, उसे expectError में लपेटें।
try testing.expectError(error.Bad, parse("x"));लगभग समान फ़्लोट
फ़्लोट मान शायद ही कभी बिल्कुल समान होते हैं। छोटी सहनशीलता के साथ expectApproxEqAbs का उपयोग करें, ताकि बहुत छोटे राउंडिंग अंतर आपके परीक्षण को विफल न करें।
try testing.expectApproxEqAbs(1.0, x, 0.001);विफलता का आउटपुट पढ़ें
जब कोई दावा विफल होता है, तो Zig रिपोर्ट में अपेक्षित और वास्तविक मान वहीं प्रिंट करता है। यह अंतर आम तौर पर सीधे बग की ओर संकेत करता है।
सही सहायक साधन चुनें
सहायक साधन को डेटा के अनुसार चुनें: स्केलर के लिए expectEqual, अनुक्रमों के लिए स्लाइस और स्ट्रिंग सहायक साधन, तथा विफलता वाले मार्ग के लिए expectError।
त्वरित जाँच
आपको किसी परीक्षण में दो पाठ मानों के बिल्कुल समान होने का दावा करना है। इसके लिए कौन-सा सहायक साधन सबसे उपयुक्त है?
पुनरावलोकन
आपने std.testing टूलकिट सीखी: expect, expectEqual, स्लाइस और स्ट्रिंग की जाँचें, साथ ही expectError। हर एक के पहले try लगाना आवश्यक है। ✅
एआई शिक्षक के साथ Zig सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 30
- पाठ
- 120
अक्सर पूछे जाने वाले प्रश्न
क्या “std.testing से Assertions” पाठ निःशुल्क है?
हाँ—“std.testing से Assertions” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Zig Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Zig Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“std.testing से Assertions” में मैं क्या सीखूँगा?
expect, expectEqual और संबंधित सुविधाएँ। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Zig Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Zig Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Zig Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।
“std.testing से Assertions” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Zig Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Zig Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- test Blocks लिखना
- std.testing से Assertions
- Testing Allocator Leaks पकड़ता है
- Tests चलाना और फ़िल्टर करना