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

Detox ایک اوپن سورس gray box end-to-end ٹیسٹنگ اور آٹومیشن فریم ورک ہے جو موبائل ایپلی کیشنز کے لیے ڈیزائن کیا گیا ہے، جس کا بنیادی ہدف Android اور iOS دونوں پلیٹ فارمز پر React Native ایپس ہیں۔ روایتی black box ٹیسٹنگ ٹولز کے برعکس، Detox ایپ کی اندرونی حالت (internal state) کے ساتھ ہم آہنگ ہوتا ہے تاکہ ریئل ٹائم میں asynchronous آپریشنز کی نگرانی کر کے ٹیسٹ کی غیر یقینی صورتحال (flakiness) کو کم کیا جا سکے۔ ٹیسٹ ایک جدید async-await API کا استعمال کرتے ہوئے JavaScript میں لکھے جاتے ہیں، جو انہیں ڈیبگ کرنے کے قابل اور پڑھنے میں آسان بناتے ہیں — مثال کے طور پر، ٹیکسٹ ٹائپ کرنے یا بٹن دبانے جیسے صارف کے اقدامات کی نقل کرنا، اور پھر UI میں تبدیلیوں کی تصدیق کرنا۔ اس کی اہم خصوصیات میں کراس پلیٹ فارم سپورٹ، race conditions کو روکنے کے لیے خودکار سنکرونائزیشن، مقبول ٹیسٹ رنرز (خاص طور پر Jest) کے ساتھ مطابقت، اور Travis CI، CircleCI، یا Jenkins جیسے CI/CD ماحول میں ہموار انٹیگریشن شامل ہیں۔ Detox حقیقی ڈیوائسز یا سمیولیٹرز پر ٹیسٹ چلاتا ہے، جس سے تعیناتی (deployment) میں اعتماد بڑھتا ہے۔ اگرچہ یہ سرکاری طور پر React Native کے ورژن v0.77.x سے v0.84.x (بشمول New Architecture) کو سپورٹ کرتا ہے، لیکن یہ نئے یا پرانے ورژنز کے ساتھ بھی کام کر سکتا ہے، حالانکہ اس کی ضمانت نہیں ہے۔ یہ پروجیکٹ GitHub issues اور Discord کے ذریعے کمیونٹی کے تعاون کی حوصلہ افزائی کرتا ہے، اور جامع دستاویزات فراہم کرتا ہے جن میں گائیڈز، ڈیزائن کے اصول اور تعاون کی ہدایات شامل ہیں۔ Detox کو MIT لائسنس کے تحت جاری کیا گیا ہے اور اس میں کمیونٹی کے تعاون سے تیار کردہ غیر انگریزی وسائل بھی شامل ہیں، جیسے کہ برازیلین پرتگالی ٹیوٹوریل۔