"इकाई परीक्षण बनाएं" का चयन कहां किया जाता है?


154

मैंने नया विज़ुअल स्टूडियो 2012 अल्टीमेट स्थापित किया है।

मैंने अपने समाधान के साथ एक टेस्ट प्रोजेक्ट बनाया है और इसमें कुछ डिफ़ॉल्ट यूनिट टेस्ट शामिल हैं। हालाँकि नए तरीकों पर राइट क्लिक करने से "यूनिट टेस्ट बनाएं" संदर्भ मेनू किसी भी लंबे समय तक नहीं दिखाई देता।

देखें विजुअल स्टूडियो 2010 अल्टीमेट: यहां छवि विवरण दर्ज करें

और विजुअल स्टूडियो 2012 अल्टीमेट: यहां छवि विवरण दर्ज करें

किसी भी विचार क्यों हो सकता है?

अपडेट करें:

विजुअल स्टूडियो 2012 और 2013 के लिए समाधान:

Microsoft ने इसे यहां स्वीकार कर लिया है और इसे ठीक करने के लिए पैच के चारों ओर एक आधिकारिक कार्य प्रदान करता है। डाउनलोड करें, इंस्टॉल करें और आनंद लें!


ये दोनों एक ही परियोजना या mvc निर्माण हैं?
डैनियल ए। व्हाइट

ये नए MVC 4 प्रोजेक्ट हैं जो स्क्रैच से निर्मित हैं।
होउमन

दिलचस्प। जब आप "रन यूनिट टेस्ट" पर क्लिक करते हैं तो क्या होता है?
डिएगो

2
मैं इसे बग के रूप में रिपोर्ट करूंगा।
डैनियल ए। व्हाइट

4
वीएस 11 ने एक परीक्षण योग्य अवसंरचना प्रदान करने की दिशा में एमएसटी के माध्यम से परीक्षण योग्य अवसंरचना प्रदान करने की दिशा में बहुत कुछ किया। यह उस निर्णय का नतीजा हो सकता है। किसी भी तरह मैं एक बग दर्ज करूँगा
JaredPar

जवाबों:


86

यह सुविधा वी.एस.

http://blogs.msdn.com/b/visualstudioalm/archive/2012/03/08/what-s-new-in-visual-studio-11-beta-unit-testing.aspx

यूनिट टेस्ट विज़ार्ड बनाएं - VS2010 में आप अपने कोड में एक विधि पर राइट क्लिक कर सकते हैं और हम आपके टेस्ट प्रोजेक्ट में एक यूनिट टेस्ट तैयार करेंगे। यह विज़ार्ड बहुत कसकर एमएस-टेस्ट के लिए युग्मित था और अपने काम करने के लिए निजी एक्सेसर्स जैसी सुविधाओं पर निर्भर था, इसलिए इसे काट दिया गया था। हम यहां विकल्प तलाश रहे हैं, लेकिन अभी तक कोई अच्छा समाधान नहीं है।

संपादित करें वहाँ एक काम है: http://blogs.msdn.com/b/malaysia/archive/2013/02/20/right-click-create-unit-tests.aspx


16
आशा है कि वे एक काम कर समाधान के साथ आएंगे। अन्यथा एक बड़े कदम की तरह लगता है
एंड्रयू हैरी

3
ऐसा लगता है कि VS2013 में उस समाधान में तीसरा विकल्प अब उपलब्ध नहीं है।
सैंडर

कार्यक्षमता VS2015 में वापस आ रहा है blogs.msdn.com/b/visualstudioalm/archive/2015/03/06/... जो कि में इसके लिए मतदान करने के लिए धन्यवाद visualstudio.uservoice.com/forums/121579-visual-studio/... । @ फियरियर: शायद आपने इसके लिए वोट किया है?
लॉसमनोस

मेरा मतलब है, यह 5 मिनट पहले था ... यह अभी नहीं है - यह क्यों आता है और जाता है?
BrainSlugs83

33

" यूनिट टेस्ट जेनरेटर " एक्सटेंशन उपलब्ध है

यूनिट टेस्ट जेनरेटर एक्सटेंशन

विजुअल स्टूडियो 2012/2013 आईडीई से सीधे जोड़ने के लिए:

  1. मेनू: उपकरण -> एक्सटेंशन और अपडेट
  2. क्लिक करें: ऑनलाइन -> विज़ुअल स्टूडियो गैलरी
  3. के लिए खोजें: "यूनिट टेस्ट जेनरेटर"

MSDN वीडियो प्रदर्शन

नोट: VS 2012-2013 में MSTest अभी भी बेकार है


28

मेनू आइटम अभी भी जगह में है, लेकिन अज्ञात कारणों से यह कोड संपादक में अदृश्य है। लेकिन आप इकाई परीक्षण विज़ार्ड को चलाने के लिए दृश्य स्टूडियो कमांड का उपयोग कर सकते हैं। आपको जो कमांड चाहिए

EditorContextMenus.CodeWindow.CreateUnitTests

कमांड विंडो खोलें और वहां कमांड टाइप करें। या निम्नानुसार एक अन्य नाम लिखें

alias ut EditorContextMenus.CodeWindow.CreateUnitTests

और तेजी से कमांड चलाने के लिए अन्य नाम आवंटित करें।

विज़ार्ड चलाने का दूसरा तरीका कीबोर्ड शॉर्टकट है। विजुअल स्टूडियो में खुला

Tools -> Options -> Environment -> Keyboard

CreateUnitTests कमांड को फ़िल्टर करने के लिए "टेक्स्ट कमांड वाले" कमांड बॉक्स में "createunit" टाइप करें, इसे चुनें। "कॉम्बो में नए शॉर्टकट का उपयोग करें" में "टेक्स्ट एडिटर" चुनें और "शॉर्टकट शॉर्टकट दबाएं" टेक्स्ट फ़ील्ड (जैसे, Ctrl + T, Ctrl + C) में दबाएं। अंत में, असाइन बटन दबाएँ। का आनंद लें!


7
मैं यह काम करने के लिए नहीं मिल सकता। मैंने अपना कर्सर विधि पर सेट किया। मेरे द्वारा जोड़े गए शोर्ट पर हिट करें और फिर एक संदेश प्राप्त करें: कमांड "EditorContextMenus.CodeWindow.CreateUnitTests" उपलब्ध नहीं है।
राल्फ जानसन

मैंने विजुअल स्टूडियो 2012 अल्टीमेट अपडेट के साथ कोशिश की है, हो सकता है कि यह मायने रखता हो।
प्रात: ५:१२ बजे १५:५५

1
जब मैं यह कोशिश करता हूं तो मुझे LockTar जैसी त्रुटि मिलती है। इसलिए यूनिट टेस्ट का उपयोग करने का सबसे आसान तरीका एक नई यूनिट टेस्ट प्रॉजेक्ट बनाना है।
सादन sa

मैं समझा सकता है क्यों नहीं आपको त्रुटि मिली है, लेकिन मैं सबूत वीडियो पकड़ा है और आप पर भी देख सकते हैं grabilla.com/02c0a-6f42a829-1535-4016-a7ff-cbbda665bee5.html
intrueder

यदि विज़ार्ड उपलब्ध नहीं है, तो ब्लॉग देखें dl.my/2013/create-unit-tests-function-not-available-or-disabled या मेरे जवाब के नीचे stackoverflow.com/a/15184716/52277
माइकल फ्रीजिम

19

इसे फिर से सक्षम करने का तरीका इस प्रकार है:

विधि 1 - कमांड विंडो

यदि आप पर्याप्त कठिन पाते हैं, तो आपको पता चलेगा कि यूनिट यूनिट टेस्ट बनाने का आदेश ... वास्तव में है:

EditorContextMenus.CodeWindow.CreateUnitTests

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

अन्य उपनाम EditorContextMenus.CodeWindow.CreateUnitTests

फिर विज़ार्ड लॉन्च करने के लिए बस टाइप करें।

विधि 2 - कीबोर्ड शॉर्टकट

अगला तरीका टूल-> विकल्प-> पर्यावरण-> कीबोर्ड पर जाना है और अपनी पसंद की शॉर्टकट कुंजी सेट करना है।

विधि 3 - यूनिट टेस्ट बनाएँ ... संदर्भ मेनू को पुनः सक्षम करें।

यूनिट टेस्ट बनाएं ... मेनू को फिर से सक्षम करने के लिए, टूल्स-> कस्टमाइज़ करें ... कस्टमाइज़ करें संवाद लॉन्च करने के लिए। अनुकूलित करें संवाद में, कमांड टैब पर जाएं, संदर्भ मेनू रेडियो बटन चुनें और संपादक संदर्भ मेनू चुनें। कोड विंडो।

आप महसूस करेंगे कि मेनू आइटम वास्तव में संदर्भ मेनू में उपलब्ध है। वीएस डेवलपर्स हमारे लिए इसे वहां छोड़ने के लिए पर्याप्त थे।

बनाएँ इकाई टेस्ट ... मेनू आइटम पर क्लिक करें और "रन परीक्षण .." कमांड के तहत इसे चालू होने तक ले जाएँ क्लिक करें। फिर क्लोज पर क्लिक करें।

विज़ुअल स्टूडियो 2012 को पुनरारंभ करें और वह यह है! संदर्भ मेनू उपलब्ध होगा!

आपको पता चल सकता है कि उपरोक्त विधियों में से किसी का उपयोग करना संभव नहीं है। यानी कमांड विंडो आपको बताएगी कि कमांड उपलब्ध नहीं है, कीबोर्ड शॉर्टकट फायर नहीं करेगा या कॉन्टेक्स्ट मेनू उपलब्ध होगा लेकिन अक्षम।

इन सभी को काम करने की अनुमति देने के लिए, आपको पहले अपने समाधान में एक यूनिट टेस्ट प्रोजेक्ट की आवश्यकता होगी। यूनिट टेस्ट प्रोजेक्ट बनाने के बाद, आपको प्रोजेक्ट के लिए मैन्युअल रूप से एक यूनिट टेस्ट आइटम जोड़ना होगा, भले ही प्रोजेक्ट अपने आप में एक हो। आपके द्वारा ऐसा किए जाने के बाद, सब कुछ कार्य करेगा क्योंकि यह Visual Studio 2010 में वापस जैसा है। आप उन UnitTest1.cs फ़ाइलों को सुरक्षित रूप से निकाल सकते हैं।

स्रोत (छवियों के साथ, मेरे पास उन्हें डालने के लिए पर्याप्त प्रतिनिधि नहीं हैं):
http://serena-yeoh.blogspot.fr/2013/02/visual-studio-2012-create-unit-test.html

(पीएस: कैवेट्स पढ़ो !!!!)


ध्यान दें, कि वीएस 2012 क्रिएट यूनिट टेस्ट्स विजार्ड जनरेशन टेस्ट्स पब्लिक मोड्स के लिए ही टेस्ट करता है, जब पिछले वर्जन में प्राइवेट मेथड्स भी सपोर्ट करते थे।
माइकल फ्रीजिम

3
इससे मुझे बहुत मदद मिली है, बहुत-बहुत धन्यवाद। मुझे अपने उपाय में एक डमी यूनिट टेस्ट स्टेप याद आ रहा था।
तनवीर बदर

1
मैन्युअल रूप से महत्वपूर्ण की एक इकाई परीक्षण बनाना। तब तक निश्चित नहीं था कि मेनू आइटम तब तक अक्षम क्यों था।
indolentdeveloper

यहाँ भी वही चीज़ मिली .. dawalaw.com/2013/enable-create-unit-tests-on-visual-studio-2012
Sunny Tambi

9

जवाब के intrueder कई उपयोगकर्ताओं के लिए काम नहीं किया। जब मैं एक कमांड विंडो में यूटी में प्रवेश करता हूं, तो मुझे कभी-कभी निम्नलिखित मिलता है

>UT
Command "EditorContextMenus.CodeWindow.CreateUnitTests" is not available.

लेकिन कभी-कभी यह एक ही समाधान के लिए काम करता था, इसलिए व्यवहार रुक-रुक कर होता था।

की मदद से दावा कानून की पोस्ट " यूनिट टेस्ट ... समारोह उपलब्ध नहीं है या अक्षम बनाएं मैंने पाया कि प्रत्येक दृश्य स्टूडियो सत्र के दौरान आप एक परीक्षण वर्ग मैन्युअल रूप से पहले विज़ार्ड उपलब्ध हो जाएगा बनाने की जरूरत"।

यदि आपके पास समाधान में एक मौजूदा यूनिट टेस्ट प्रोजेक्ट है,

समाधान एक्सप्लोरर में, यूनिट टेस्ट प्रोजेक्ट पर राइट क्लिक करें -> ऐड -> यूनिट टेस्ट ... यह एक नया यूनिट टेस्ट क्लास बनाएगा और विजुअल स्टूडियो को ट्रिगर करेगा कि एक मौजूदा यूनिट टेस्ट क्लास उपलब्ध है, इस प्रकार यूनिट टेस्ट टेस्ट विजार्ड बनाएं। नोट: आप बनाई गई यूनिट टेस्ट क्लास फ़ाइल (UnitTestX.cs) को हटा सकते हैं क्योंकि इसका उपयोग फ़ंक्शन को ट्रिगर करने के लिए किया जाता है।

यदि आपके पास समाधान में एक मौजूदा यूनिट टेस्ट प्रोजेक्ट नहीं है, तो आपको एक मैनुअल क्लास जोड़ने से पहले इसे बनाने की आवश्यकता है:

फ़ाइल में जाएँ -> जोड़ें -> नई परियोजना ... नई परियोजना जोड़ें विंडो में, स्थापित -> दृश्य C # -> परीक्षण -> इकाई परीक्षण परियोजना चुनें। इसे एक सार्थक नाम दें और ठीक पर क्लिक करें

दावा कानून की पोस्ट " यूनिट टेस्ट बनाएं ..." समारोह उपलब्ध नहीं है या अक्षम हर कदम वर्णन करने के लिए स्नैपशॉट है।

ध्यान दें, कि वीएस 2012 क्रिएट यूनिट टेस्ट विजार्ड सपोर्ट जनरेशन टेस्ट पब्लिक मेथड्स, जब पिछले वर्जन में प्राइवेट मेथड्स भी सपोर्टेड थे।


"आपको विज़ार्ड के उपलब्ध होने से पहले मैन्युअल रूप से एक टेस्ट क्लास बनाने की आवश्यकता होगी" - जिसने मुझे अंत में ट्रिक दी
जोरज

धन्यवाद मैंने Dawa Law के ब्लॉग का उपयोग किया है और यह अंत में किया गया है :)
अहमद एलबैट

6

बीटा में "बनाएँ यूनिट टेस्ट" मेनू को हटा दिया गया था। मैं निश्चित नहीं हूं कि इसे वापस लाने की योजना है या नहीं। यदि यह वास्तव में आपके लिए एक समस्या है, तो इसे विज़ुअल स्टूडियो उपयोगकर्ता साइट पर अनुरोध करें: http://visualstudio.uservoiceoice.com/




3

http://blogs.msdn.com/b/malaysia/archive/2013/02/20/right-click-create-unit-tests.aspx

विधि 3 - यूनिट टेस्ट बनाएँ ... संदर्भ मेनू को पुनः सक्षम करें।

यह अब तक की सबसे अच्छी विधि है। यूनिट टेस्ट बनाएं ... मेनू को फिर से सक्षम करने के लिए, टूल्स-> कस्टमाइज़ करें ... कस्टमाइज़ करें संवाद लॉन्च करने के लिए। अनुकूलित करें संवाद में, कमांड टैब पर जाएं, संदर्भ मेनू रेडियो बटन चुनें और संपादक संदर्भ मेनू चुनें। कोड विंडो।


...और फिर क्या? यह पहले से ही वहां सूचीबद्ध है, लेकिन जब मैं राइट-क्लिक करता हूं तो यह प्रदर्शित नहीं होता है।
ल्यूक पुप्लेट

0

"आपको पता चल सकता है कि उपरोक्त विधियों में से किसी का उपयोग करने से काम नहीं हो सकता है। यानी कमांड विंडो आपको बताएगी कि कमांड उपलब्ध नहीं है, कीबोर्ड शॉर्टकट फायर नहीं करेगा या संदर्भ मेनू उपलब्ध नहीं होगा लेकिन अक्षम है।

इन सभी को काम करने की अनुमति देने के लिए, आपको पहले अपने समाधान में एक यूनिट टेस्ट प्रोजेक्ट की आवश्यकता होगी। यूनिट टेस्ट प्रोजेक्ट बनाने के बाद, आपको प्रोजेक्ट के लिए मैन्युअल रूप से एक यूनिट टेस्ट आइटम जोड़ना होगा, भले ही प्रोजेक्ट अपने आप में एक हो। आपके द्वारा ऐसा करने के बाद, सब कुछ कार्य करेगा क्योंकि यह Visual Studio 2010 में वापस आ गया है। आप सुरक्षित रूप से उन UnitTest1.b फ़ाइलों को हटा सकते हैं। "

(माइकल फ्रीजिम)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.