2010-08-04 22 views
86

मैं बिल्ड सर्वर पर अपना यूनिट परीक्षण चलाने के लिए mstest.exe का उपयोग करना चाहता हूं, लेकिन मैं बिल्ड सर्वर पर विजुअल स्टूडियो को स्थापित नहीं करना चाहता हूं। क्या मैं विजुअल स्टूडियो के बिना बस एमएसटीएस्ट स्थापित कर सकता हूं?क्या मैं विजुअल स्टूडियो को स्थापित किए बिना mstest.exe का उपयोग कर सकता हूं?

+0

क्या आप थोड़ा और विवरण प्रदान कर सकते हैं। क्या संस्करण? सर्वर बनाएं? आदि –

उत्तर

136

दृश्य स्टूडियो के बिना mstest.exe को चलाने के लिए संभव है।
दृश्य स्टूडियो आईएसओ के नीचे के लिए एजेंटों में से एक डाउनलोड करें और सर्वर पर टेस्ट एजेंट स्थापित:

Visual Studio 2017
Visual Studio 2015 (128MB सेटअप, 2GB डिस्क स्थान की आवश्यकता है (127MB डिस्क स्थान, जो डाउनलोड के लिए कम से कम))
Visual Studio 2012 (224MB)
Visual Studio 2013 (287MB)
Visual Studio 2010 (515MB)

यह चल रहा है लिए आवश्यक सब कुछ स्थापित करता है कमांड लाइन से mstest.exe और दृश्य स्टूडियो की तुलना में बहुत हल्का वजन है। ~ 500 एमबी डाउनलोड और लगभग ~ 300 एमबी सिर्फ टेस्ट एजेंट स्थापित करने के लिए अगर मुझे सही याद है।

अद्यतन

वी.एस. 2017 की तुलना में पुराने संस्करणों के लिए, यहाँ देखो:

https://www.visualstudio.com/vs/older-downloads/

+10

आप [दृश्य स्टूडियो 2012 के लिए एजेंट] डाउनलोड कर सकते हैं (http://www.microsoft.com/en- हमें/डाउनलोड/details.aspx? id = 38186) साथ ही। – djeebus

+0

जहां Testsgent और TestController स्थापित करने के बाद MsTest.exe रखा गया है? –

+3

सी: \ प्रोग्राम फ़ाइलें \ माइक्रोसॉफ्ट विजुअल स्टूडियो 11.0 \ कॉमन 7 \ आईडीई \ MSTest.exe – Foole

4

मुझे लगता है कि आप शायद कर सकते हैं, लेकिन यह निश्चित रूप से समर्थित नहीं है।

मुझे यह ब्लॉग आलेख किसी ऐसे व्यक्ति द्वारा लिखा गया है जो विजुअल स्टूडियो के बिना एमएसटीएस्ट काम करने का दावा करता है।

+0

हैकिंग शब्द वाले किसी भी यूआरएल को वास्तव में प्रयास के मूल्य पर सवाल उठाने की आवश्यकता है यदि एमएस अपने कार्यान्वयन को बदलने का फैसला करता है तो आपका वातावरण अस्थिर हो सकता है और प्रत्येक विंडोज अपडेट के साथ अप्रत्याशित चीजें हो सकती हैं (हम नियमित अपडेट रखते हैं, है ना?)। – Russell

+0

इस मामले में, ऐसा लगता है कि एक विंडोज अपडेट हैक तोड़ देगा। लेकिन mstest का नया संस्करण (उदाहरण के लिए, एक नए संस्करण या वीएस के सर्विस पैक के भीतर) अलग-अलग काम कर सकता है। –

+0

@Russell - व्यक्तिगत रूप से मैं या तो एक अतिरिक्त वीएस लाइसेंस के लिए खोलता हूं, या इसके बजाय केवल NUnit का उपयोग करता हूं। – Justin

4

@crocpulsar, आप अपने बिल्ड सर्वर, पर दृश्य स्टूडियो स्थापित करने की आवश्यकता है, लेकिन आप एक अतिरिक्त लाइसेंस खरीदने के लिए जरूरत नहीं है।

वीएस स्थापित किए बिना काम करने के लिए & एमएसटीएस्ट बनाने के लिए बहुत अधिक निर्भरताएं हैं, और यह निश्चित रूप से समर्थित नहीं है।

जब तक बिल्ड शुरू करने वाले व्यक्ति के पास लाइसेंस होता है, तो आपको बिल्ड सर्वर के लिए एक की आवश्यकता नहीं होती है। 2005 के अंधेरे दिनों के बाद से यह मामला रहा है, और जब तक संस्करण समानता है तो आप ठीक हैं।

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

+0

पर ले जाया है संदर्भ के लिए यहां इस http://blogs.msdn.com/b/jeffbe पर माइक्रोसॉफ्ट से एक पोस्ट है /archive/2008/03/18/licensing-team-system-editions-for-your-build-machine.aspx – Maslow

1

ये कदम उठाएँ मैं वी.एस. 2012 की स्थापना के बिना MSTest चलाने के लिए अपने निर्माण सर्वर पाने के लिए हुए थे:

  1. c: \ dev में 'mstest' निर्देशिका फ़ोल्डर बनाया गया।
  2. कॉपी किए गए सी से 'Mstest.exe' और 'Mstest.exe.config': \ Program Files (x86) \ माइक्रोसॉफ्ट विजुअल स्टूडियो 11.0 \ Common7 \ IDE करने के लिए 'MSTest' निर्देशिका
  3. कॉपी Microsoft.VisualStudio।। सी से DLLs QualityTools.UnitTestFramework.dll करने के लिए 'MSTest' निर्देशिका
  4. निर्मित 'विधानसभाओं' 'MSTest' फ़ोल्डर
  5. में निर्देशिका सभी v11 Microsoft.VisualStudio.QualityTools निकाले *:। 'MSTest/विधानसभाओं के लिए \ Windows \ विधानसभा 'निर्देशिका
  6. सभी' v11 'माइक्रोसॉफ्ट की प्रतिलिपि बनाएँ। VisualStudio.QualityTools। .dlls और माइक्रोसॉफ्ट। VisualStudio.TestTools। सी: \ विंडोज \ माइक्रोसॉफ्ट.NET \ assembly \ GAC_MSIL से 'mstest/assemblies'
  7. सभी v11 Microsoft.VisualStudio.QualityTools की प्रतिलिपि बनाएँ। .dlls और माइक्रोसॉफ्ट। VisualStudio.TestTools।। सी: \ प्रोग्राम फ़ाइलें (x86) से डीएल: \ माइक्रोसॉफ्ट विजुअल स्टूडियो 11.0 \ Common7 \ IDE \ PrivateAssemblies 'mstest/assemblies'
  8. 'mstest.exe.config' में 'PrivatePath' विशेषता में 'असेंबली' जोड़ें '
  9. निर्यात' HKEY_LOCAL_MACHINE/सॉफ़्टवेयर/वाह 6432 नोड/माइक्रोसॉफ्ट/विजुअलस्टूडियो/11.0/एंटरप्राइज़/क्वालिटीटूल और इसे हडसन बॉक्स पर लागू करें।
  10. कॉपी QTAgent32.exe और QTAgent32.exe.config को सी से 'MSTest' निर्देशिका: \ Program Files (x86) \ माइक्रोसॉफ्ट विजुअल स्टूडियो 11.0 \ Common7 \ IDE
  11. जोड़े 'विधानसभाओं' 'privatePath' की विशेषता में 'QTAgent32.exe.config'
  12. से कॉपी 'msdia110.dll' 'C: \ Program Files (x86) \ माइक्रोसॉफ्ट विजुअल स्टूडियो 11.0 \ Common7 \ संकुल \ डिबगर' को 'MSTest/विधानसभाओं'
  13. रजिस्टर सी के साथ 'msdia110.dll' c: /windows/syswow64/regsvr32.exe/i '../mstest/assemblies/msdia110.dll'(इसने एक त्रुटि फेंक दी, लेकिन किसी कारण से यह अभी भी काम कर रहा है। मैंने इसे दो बार भाग लिया और मैंने जांचने से पहले विभिन्न regsvr32.exe संस्करणों का प्रयास किया, लेकिन यह रजिस्ट्री में है)

  14. पर्यावरण परिवर्तनीय 'MSTEST_HOME' जोड़ें और इसे 'c: \ dev \ mstest \' या अपने पथ पर सेट करें। मैंने अपनी बिल्ड स्क्रिप्ट में पर्यावरण चर का उपयोग किया।

डिबगिंग MSTest निष्पादन त्रुटि:

'MsTest.exe.config'

<system.diagnostics> 
    <trace autoflush="true" indentsize="4"> 
    <listeners> 
     <add name="EqtListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="C:\MsTest.log" /> 
    </listeners> 
    </trace> 
    <switches> 
    <add name="EqtTraceLevel" value="Verbose" /> 
    </switches> 
</system.diagnostics> 
0

MSTest में जोड़े announced for .NET Core उपयोगकर्ताओं था। घोषणा में dotnet उपकरण के साथ उपयोग उदाहरण है। मैंने खुद को नहीं देखा है कि स्टैंडअलोन mstest निष्पादन योग्य कैसे प्राप्त करें।

8

यह उत्तर विशेष रूप से विजुअल स्टूडियो 2017 से संबंधित है, और उत्तर हाँ है। कृपया ध्यान रखें, हालांकि, माइक्रोसॉफ्ट (अभी भी) प्रासंगिक निष्पादन योग्य (MSBuild.exe और MSTest.exe) का पता लगाने के लिए किसी भी तरह का आधिकारिक एपीआई प्रदान नहीं करता है, इसलिए you are stuck reading registry keys and/or probing various directories to locate these files। आपको चेतावनी दी गई थी।

  • आप केवल निर्माण अपने इकाई परीक्षण परियोजना (ओं) की जरूरत है, उन परियोजना (ओं) में पैकेज MSTest.TestFramework स्थापित करने और उन लोगों से Microsoft.VisualStudio.QualityTools.UnitTestFramework का संदर्भ निकालें। अब आपको Visual Studio 2017 Build Tools इंस्टॉल करना है और बिल्ड करने के लिए msbuild.exe इंस्टॉल करना है।
  • आप रन अपने परीक्षण के साथ-साथ की जरूरत है, चीजों को जटिल काम बन:
    • सरल समाधान VS2017 समुदाय संस्करण (जो दोनों MSBuild और MSTest भी शामिल है) स्थापित करने के लिए है - लेकिन मैं वैधता को लेकर अनिश्चित हूं इसमें से, और वकील नहीं हूं, इसलिए सावधान रहें!
    • एक कानूनी तौर पर सुरक्षित समाधान (और अब तक लाइटर, डिस्क स्थान के संदर्भ में) स्थापित करने के लिए Visual Studio 2017 Test Agent और तोBuild Tools for Visual Studio 2017 (सटीक क्रम महत्वपूर्ण है) है; यह आपको MSTest.exe और vstest.console.exe देगा जिसे आप कॉल कर सकते हैं। ध्यान दें कि वास्तव में यह पता लगाना कि ये निष्पादन योग्य कहां रहते हैं, क्योंकि वे बिल्ड टूल्स में MSBuild.exe के समान निर्देशिका संरचना में मौजूद नहीं होंगे।

अंत में, और बहुत महत्वपूर्ण बात: अगर आप MSTest.TestFramework का उपयोग करते हैं और अभी भी आप भी MSTest.TestAdapter की आवश्यकता होगी अपनी इकाई परीक्षण परियोजना में स्थापित की खोज और विजुअल स्टूडियो IDE के भीतर से की गई जांच करने में सक्षम होने की जरूरत है, (रों)।

1: जबकि वीएस2017 साइड-बाय-साइड इंस्टॉल का समर्थन करता है, यह एक एकल रजिस्ट्री कुंजी का उपयोग करता है जो केवल हालिया इंस्टॉल को रिकॉर्ड करता है। इसलिए, यदि आप आखिरी बार टेस्ट एजेंट स्थापित करते हैं, तो कुंजी इसकी इंस्टॉल निर्देशिका को इंगित करेगी ... लेकिन टेस्ट एजेंट में MSBuild.exe शामिल नहीं है, इसलिए निष्पादन योग्य पथ को समझने के लिए इस रजिस्ट्री कुंजी पर निर्भर कोई भी कोड विफल हो जाएगा। क्यों माइक्रोसॉफ्ट टेस्ट एजेंट को बिल्ड टूल्स का एक वैकल्पिक हिस्सा नहीं बना सका (ताकि सभी EXEs एक ही निर्देशिका पदानुक्रम में रहें) किसी का अनुमान है।

+0

परीक्षण एजेंट विधि के माध्यम से स्थापित किए जा सकते हैं लेकिन mstest.exe अभी भी 'फ़ाइल एक्सटेंशन निर्दिष्ट' के साथ विफल रहता है .webtest 'मान्य परीक्षण एक्सटेंशन नहीं है मेरे लिए। –