منصوبے کے بارے میں

Hypothesis پائیتھون کے لیے ایک پروپرٹی بیسڈ ٹیسٹنگ لائبریری ہے۔ ٹیسٹس کو فکسڈ ان پٹس کے ساتھ لکھنے کے بجائے، ڈویلپرز ان ان پٹس کی حد کو بیان کرتے ہیں جو ایک فنکشن کو سنبھالنا چاہیے، اور Hypothesis اس حد سے ریڈوم ٹیسٹ کیسز جنریٹ کرتی ہے - بشمول ایج کیسز جو ڈویلپر نے پیش گوئی نہیں کی ہو۔ کور ورک فلو @given ڈیکوریٹر اور ایک اسٹریٹیجیز ماڈیول کا استعمال کرتا ہے۔ مثال کے طور پر، ایک ٹیسٹ کو @given(st.lists(st.integers())) کے طور پر لکھا جا سکتا ہے تاکہ خودکار طور پر پورے نمبروں کی فہرستیں جنریٹ کی جا سکے اور یہ تصدیق کی جا سکے کہ ایک کسٹم сорٹ فنکشن پائیتھون کے بلٹ ان sorted() سے متعلق ہے۔ یہ اپروچ بگس اور ایج کیسز کو پکڑتی ہے جو ہاتھ سے لکھے گئے ٹیسٹ کیسز سے چھوٹ جاتے ہیں۔ جب Hypothesis کو کوئی ناکام ٹیسٹ ملتا ہے، تو وہ کوئی بے ترتیبی سے ناکام ان پٹ کی رپورٹ نہیں کرتا۔ اس کے بجائے، وہ ناکام کیس کو سب سے سادہ ممکن بناتا ہے، جو ڈیبگنگ کو نمایاں طور پر آسان بناتا ہے۔ مثال کے طور پر، اگر сорٹ فنکشن ان پٹ کو غلط طریقے سے ہٹا دیتا ہے، تو Hypothesis ls=[0, 0] جیسے کم از کم ناکام کیس کی رپورٹ کرتا ہے، بڑی ریڈوم فہرست کے بجائے۔ انسٹالیشن pip install hypothesis کے ذریعے آسان ہے۔ اضافی فنکشنلٹی کے لیے اختیاری ایکسٹراز دستیاب ہیں۔ پروجیکٹ میں دستاویزات، ویب سائٹ، اور شراکت داروں اور صارفین کے لیے ایک کمیونٹی سیکشن شامل ہے۔