2015-09-18 13 views
25

के लिए विजुअल स्टूडियो 2015 में यूनिट परीक्षण को गति देने का कोई भी तरीका विजुअल स्टूडियो 2015 में विंडोज यूनिवर्सल क्लास लाइब्रेरी (.NET 4.6) का परीक्षण करते समय, "लाल-> हरा-> रिफैक्टर" चक्र में आवश्यक समय काफी है लंबा। मेरा टेस्ट प्रोजेक्ट सिर्फ मानक एमएसटीएस्ट "यूनिट टेस्ट ऐप" प्रोजेक्ट है। यहां तक ​​कि एक ब्रांड नए समाधान, ब्रांड नए विषय और परीक्षण परियोजनाओं, और मूल int Add(int n1, int n2) विधि के सबसे सरल परिदृश्य में, इसमें लगभग 8-15 सेकंड लगते हैं। पास/असफल होने तक "रन परीक्षण" पर क्लिक करने से यह समय (एक छोटा कोड परिवर्तन करने के बाद) है।यूडब्ल्यूपी

मेरी मशीन (विन 10 प्रो) पर एक ही प्रयोग करने पर एक WPF- आधारित समाधान के साथ लगभग 1-2 सेकंड उत्पन्न होता है।

यूडब्ल्यूपी परिदृश्य में, वास्तविक परीक्षण समय स्वयं 79 एमएस के रूप में सूचीबद्ध है। शेष समय यूनिट टेस्ट ऐप कंटेनर को संकलित और तैनात कर रहा है।

क्या यूडब्ल्यूपी के साथ टीडीडी को काफी तेज़ करने का कोई तरीका है?

उत्तर

32

टीडीडी चक्र इतना लंबा लगता है क्योंकि सभी यूडब्ल्यूपी कोड को ऐपकॉन्टेनर में चलाना पड़ता है, और इसके लिए पैकेजिंग और तैनाती की आवश्यकता होती है जो धीमी होती है।

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

इसका समाधान यूडब्ल्यूपी कक्षा पुस्तकालय की बजाय आपके एप्लिकेशन तर्क के लिए पोर्टेबल क्लास लाइब्रेरी का उपयोग करना है। आप नई परियोजना संवाद में पोर्टेबल वर्ग पुस्तकालय मिल जाएगा:

enter image description here

डिफ़ॉल्ट सेटिंग्स काम करना चाहिए:

enter image description here

फिर आप को UWP से एक संदर्भ जोड़ने की जरूरत पोर्टेबल लाइब्रेरी ताकि आप इसका उपभोग कर सकें। पोर्टेबल पुस्तकालय की जांच के लिए एक नियमित रूप से गैर UWP इकाई परीक्षण परियोजना का उपयोग करें:

enter image description here

नोट - यह काम करने के लिए आप (4.5.2 से इकाई परीक्षण परियोजना का लक्ष्य ढांचे को बदलना होगा जो डिफ़ॉल्ट है) 4.6 तक।

नियमित यूनिट परीक्षण परियोजना से आपके द्वारा चलाए जाने वाले किसी भी यूनिट परीक्षण जितनी जल्दी संभव हो सकेगा क्योंकि इसे ऐपकॉन्टेनर में चलाने की आवश्यकता नहीं है। मैंने इसका परीक्षण किया और आंतरिक लूप गति बहुत अच्छी थी। उम्मीद है की वो मदद करदे!

संबंधित मुद्दे