"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > AssertTimeout और AssertTimeoutPreemptively के बीच मुख्य अंतर क्या है?

AssertTimeout और AssertTimeoutPreemptively के बीच मुख्य अंतर क्या है?

2024-07-30 को प्रकाशित
ब्राउज़ करें:357

इस ब्लॉग पोस्ट में, मैं बताऊंगा कि इन तरीकों के बीच मुख्य अंतर क्या है। सबसे पहले तो ये कि हम इन तरीकों का इस्तेमाल क्यों करते हैं. यह विधि तब उपयोगी होगी जब हम अपनी विधियों के प्रदर्शन का परीक्षण करेंगे या हम जानना चाहेंगे कि हमारी विधि को पूरा होने में कितना समय लगता है।

ये तरीके कैसे काम करते हैं?

सबसे पहले हमें अपनी परीक्षण विधि को समय देना होगा, उसके बाद ये परीक्षण परीक्षण में संचालन निष्पादित करते हैं। यदि इस ऑपरेशन में निर्दिष्ट से अधिक समय लगता है और तो यह परीक्षण विफल हो जाएगा।

AssertTimeout और AssertTimeoutPreemptively के बीच अंतर

ठीक है, अब हम जानते हैं कि ये विधियां क्या हैं, हम अपनी परीक्षण विधियों में इनका उपयोग क्यों करते हैं। तो फिर हमें अंतर जानना चाहिए।

मुझे संक्षेप में समझाने दीजिए। assertTimeout विधि हमारे द्वारा दिए गए समय को गिनती है, यदि हमारी परीक्षण विधि निर्दिष्ट से अधिक समय लेती है, तो सभी ऑपरेशन पूरा होने के बाद यह परीक्षण विफल हो जाएगा। हालाँकि, यदिassertTimeoutPreemptively विधि निर्दिष्ट से अधिक समय लेती है, तो यह विधि तुरंत विफल हो जाएगी। और यह सभी प्रक्रियाओं के पूरा होने तक इंतजार नहीं करेगा, हम अगले चरण में प्रोजेक्ट में इसका परीक्षण करेंगे।

परीक्षा

सबसे पहले अपनी पसंदीदा आईडीई खोलें। मैंने Intellij Idea खोला क्योंकि यह IDE जावा डेवलपर्स के बीच बहुत लोकप्रिय है। बेशक आप पसंदीदा आईडीई का उपयोग कर सकते हैं जैसे कि एक्लिप्स, नेटबीन्स जो भी आपको पसंद हो।

अब एक नया मावेन प्रोजेक्ट बनाएं और इन 2 निर्भरताओं को अपनी pom.xml फ़ाइल में जोड़ें।


    org.junit.jupiter
    junit-jupiter-api
    5.3.1
    test


    org.junit.jupiter
    junit-jupiter-engine
    5.3.1
    test

इन्हें जोड़ने के बाद src/test/java फ़ोल्डर खोलें और

नई कक्षा बनाएं और जो नाम आप चाहें वह दें, मैं टाइमआउटटेस्ट दूंगा।

2 परीक्षण विधियां बनाएं, उनमें से एक AssertTimeout का परीक्षण करती है और दूसरा AssertTimeoutPreemptively का परीक्षण करती है।

assertTimeout and assertTimeoutPreemptively

उसके बाद मैं अवधि देता हूं और सरल प्रिंट संदेश जोड़ता हूं।

Informational messages

मैं थ्रेड.स्लीप() विधि जोड़ता हूं और थ्रेड स्लीप 8000 एमएस (8 सेकंड)। लेकिन ये दोनों विधियां विफल हो जाएंगी क्योंकि इन विधियों में 3 सेकंड से अधिक समय लगता है। बेहतर ढंग से समझने के लिए मुझे इन तरीकों का परीक्षण करने दीजिए।

result of methods

और आप देखते हैं कि testAssertTimeout विधि 8s 3ms लेती है क्योंकि यह विधि सभी ऑपरेशनों को पूरा करने के लिए प्रतीक्षा करती है, लेकिन दूसरी विधि 3s 45ms लेती है, और यह अन्य प्रक्रिया को पूरा करने के लिए प्रतीक्षा नहीं करती है , यह तुरंत विफल हो जाता है।

आप संदेश देख सकते हैं testAssertTimeout विधि संदेश को प्रिंट करती है लेकिन AssertTimeoutPreemptively विधि संदेश को प्रिंट नहीं करती है, इसने अन्य परिचालनों को नजरअंदाज कर दिया है।

निष्कर्ष

इस पोस्ट में हमनेassertTimeout औरassertTimeoutPreemptively के बीच मुख्य अंतर के बारे में बात की।

आखिरकार, कोड जीथब पर उपलब्ध है।

अपना ख्याल रखें, जल्द ही मिलते हैं।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/mammadyahyayev/what-is-the-main-difference-between-asserttimeout-and-asserttimeoutpreemptively-8l?1 यदि कोई उल्लंघन है, तो कृपया स्टडी_गोलंग@163.com पर संपर्क करें। इसे हटाने के लिए
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3