डिफ़ॉल्ट रूप से मोचा एक फाइल पढ़ेगा जिसका नाम test/mocha.opts
कमांड लाइन आर्ग्युमेंट हो सकता है। तो आप ऐसी फ़ाइल बना सकते हैं जिसमें शामिल हैं:
--timeout 5000
जब भी आप कमांड लाइन पर मोचा चलाते हैं, यह इस फाइल को पढ़ेगा और डिफ़ॉल्ट रूप से 5 सेकंड का समय निर्धारित करेगा।
एक और तरीका जो आपकी स्थिति के आधार पर बेहतर हो सकता है, वह यह है कि इसे describe
अपनी परीक्षण फ़ाइल में शीर्ष स्तर की कॉल में सेट करें:
describe("something", function () {
this.timeout(5000);
// tests...
});
यह आपको केवल प्रति-फ़ाइल के आधार पर टाइमआउट सेट करने की अनुमति देगा।
यदि आप 5000 का वैश्विक डिफ़ॉल्ट चाहते हैं, तो आप दोनों विधियों का उपयोग कर सकते हैं, लेकिन कुछ फ़ाइलों के लिए कुछ अलग सेट कर सकते हैं।
ध्यान दें कि यदि आप कॉल करने जा रहे हैं this.timeout
(या this
आपके लिए उस मोचा सेट के किसी अन्य सदस्य तक पहुंच सकते हैं) तो आप आमतौर पर एक तीर फ़ंक्शन का उपयोग नहीं कर सकते हैं । उदाहरण के लिए, यह आमतौर पर काम नहीं करेगा :
describe("something", () => {
this.timeout(5000); //will not work
// tests...
});
ऐसा इसलिए होता है क्योंकि this
फ़ंक्शन दिखाई देने वाले स्कोप से एक एरो फंक्शन लेता है। मोचा फंक्शन को एक अच्छे मान के साथ कॉल करेगा, this
लेकिन एरो फंक्शन के अंदर वह वैल्यू पास नहीं होगी। इस विषय पर मोचा का प्रलेखन कहता है :
मोचा के लिए तीर कार्य ("लंबदा") पास करना हतोत्साहित किया जाता है। इस के शाब्दिक बंधन के कारण, ऐसे कार्य मोचा संदर्भ तक पहुंचने में असमर्थ हैं।