मैं बिल्ड सर्वर पर अपने यूनिट टेस्ट को चलाने के लिए mstest.exe का उपयोग करना चाहता हूं, लेकिन मैं बिल्ड सर्वर पर Visual Studio स्थापित नहीं करना चाहता। क्या मैं सिर्फ Visual Studio के बिना MSTest स्थापित कर सकता हूँ?
मैं बिल्ड सर्वर पर अपने यूनिट टेस्ट को चलाने के लिए mstest.exe का उपयोग करना चाहता हूं, लेकिन मैं बिल्ड सर्वर पर Visual Studio स्थापित नहीं करना चाहता। क्या मैं सिर्फ Visual Studio के बिना MSTest स्थापित कर सकता हूँ?
जवाबों:
विज़ुअल स्टूडियो के बिना mstest.exe चलाना संभव है।
विजुअल स्टूडियो आईएसओ के लिए एजेंटों में से एक को डाउनलोड करें और सर्वर पर टेस्ट एजेंट स्थापित करें:
विजुअल स्टूडियो 2017 (127MB डिस्क स्पेस, डाउनलोड से कम)
विजुअल स्टूडियो 2015 (128MB सेटअप, 2GB डिस्क स्पेस आवश्यक)
विजुअल स्टूडियो 2012 (224MB)
विजुअल स्टूडियो 2013 (287MB)
विजुअल स्टूडियो 2010 (515MB)
यह कमांड लाइन से mstest.exe को चलाने के लिए आवश्यक सब कुछ स्थापित करता है और दृश्य स्टूडियो की तुलना में बहुत हल्का है। ~ 500mb डाउनलोड और चारों ओर ~ 300mb बस परीक्षण एजेंट स्थापित करने के लिए अगर मैं सही ढंग से याद है।
अपडेट करें
वीएस 2017 से पुराने संस्करणों के लिए, यहां देखें:
यह उत्तर विशेष रूप से Visual Studio 2017 से संबंधित है, और उत्तर हाँ है । कृपया ध्यान रखें, हालांकि, Microsoft (अभी भी) प्रासंगिक निष्पादनयोग्य ( MSBuild.exe
और MSTest.exe
) का पता लगाने के लिए किसी भी प्रकार की आधिकारिक एपीआई प्रदान नहीं करता है , इसलिए आप इन फाइलों का पता लगाने के लिए विभिन्न निर्देशिकाओं को पढ़ने और / या विभिन्न निर्देशिकाओं की जांच कर रहे हैं । आपको चेतावनी दी गई थी।
MSTest.TestFramework
को उन परियोजना (नों) में स्थापित करें और Microsoft.VisualStudio.QualityTools.UnitTestFramework
उनसे संदर्भ निकालें । अब आपको केवल Visual Studio 2017 Build Tools इंस्टॉल करना है और इनवाइट करना हैmsbuild.exe
परफॉर्म करना है।MSTest.exe
और vstest.console.exe
जिसे आप बाद में कॉल कर सकते हैं। ध्यान दें कि वास्तव में पता लगाना कि ये निष्पादक कहाँ रहते हैं, एक दर्द है, क्योंकि वे उसी निर्देशिका संरचना में मौजूद नहीं होंगे जैसे MSBuild.exe
बिल्ड टूल्स में।अंत में, और बहुत महत्वपूर्ण: यदि आप उपयोग करते हैं MSTest.TestFramework
और अभी भी विजुअल स्टूडियो आईडीई के भीतर से परीक्षण खोजने और चलाने में सक्षम होने की आवश्यकता है, तो आपको भी आवश्यकता होगीMSTest.TestAdapter
अपनी इकाई परीक्षण परियोजना (एस) में स्थापित ।
1: जबकि VS2017 साइड-बाय-इंस्टॉल का समर्थन करता है, यह एक एकल रजिस्ट्री कुंजी का उपयोग करता है जो केवल सबसे हाल ही में स्थापित रिकॉर्ड करता है। इसलिए, यदि आप परीक्षण एजेंट को अंतिम रूप से स्थापित करते हैं, तो कुंजी इसकी इंस्टॉल निर्देशिका को इंगित करेगी ... लेकिन टेस्ट एजेंट में शामिल नहीं है MSBuild.exe
, इसलिए कोई भी कोड जो उस निष्पादन योग्य पथ का पता लगाने के लिए इस रजिस्ट्री कुंजी पर निर्भर करता है, विफल हो जाएगा। क्यों Microsoft टेस्ट एजेंट को बिल्ड टूल्स का वैकल्पिक हिस्सा नहीं बना सकता था (ताकि सभी EXE एक ही डायरेक्टरी पदानुक्रम में रहें) किसी का अनुमान है।
File extension specified '.webtest' is not a valid test extension.
मेरे लिए विफल है।
vswhere
कुछ भी बेहतर नहीं है, लेकिन आपको अभी भी एक धारणा बनानी है कि MSBuild VS इंस्टॉल डायरेक्टरी के सापेक्ष कहां स्थित है ... यदि (कब?) Microsoft उन किसी भी निष्पादनयोग्य को स्थानांतरित करने का निर्णय लेता है, तो यह धारणा अब मान्य नहीं है? । Microsoft MSBuild / MSTest / VSTest का रास्ता पाने के लिए एक प्रोग्रामेटिक तरीका क्यों नहीं बना सकता है या नहीं कर सकता (जैसा कि VS इनस्टॉल dir का विरोध है, जिसकी वास्तव में किसी को परवाह नहीं है) मुझसे परे रहता है।
No test is available in C:\Users\..\Desktop\MyExeName.exe...
। मैंने SO पर एक प्रश्न खोला है । यदि आपके पास कोई सुराग है, तो मैं आपकी मदद की सराहना करता हूं।
मुझे लगता है कि आप शायद कर सकते हैं, लेकिन इसका निश्चित रूप से समर्थन नहीं किया गया है।
मुझे यह ब्लॉग लेख किसी ऐसे व्यक्ति के द्वारा लिखा गया है जो दावा करता है कि MSTest ने विजुअल स्टूडियो स्थापित किए बिना काम किया है।
@ क्रोकपल्सर, आपको अपने बिल्ड सर्वर पर विज़ुअल स्टूडियो स्थापित करने की आवश्यकता है, लेकिन आपको अतिरिक्त लाइसेंस खरीदने की आवश्यकता नहीं है ।
वीएस स्थापित किए बिना काम करने के लिए निर्माण और एमएसटीस्ट के लिए बहुत अधिक निर्भरताएं हैं, और यह निश्चित रूप से समर्थित नहीं है।
जब तक बिल्ड शुरू करने वाले व्यक्ति के पास लाइसेंस है, तब तक आपको बिल्ड सर्वर के लिए एक की आवश्यकता नहीं है। यह 2005 के काले दिनों के बाद से मामला है, और जब तक संस्करण समानता है तब तक आप ठीक हैं।
यदि आपकी टीम में सभी के पास अंतिम है, तो आप इसे बिल्ड सर्वर पर इंस्टॉल करने के लिए स्वतंत्र हैं; लेकिन अगर आपकी टीम के किसी सदस्य के पास प्रीमियम है, तो आपको आदर्श रूप से बिल्ड सर्वर पर प्रीमियम स्थापित करना चाहिए। यह कोड कवरेज, टेस्ट इम्पैक्ट एनालिसिस और आर्किटेक्चर वैलिडेशन जैसे कई अन्य बिट्स को भी दूसरों के बीच सक्षम बनाता है।
मुझे सिर्फ विजुअल स्टूडियो 2017 आईडीई को स्थापित किए बिना अपने सर्वर पर यह काम करना पड़ा। मेरी आवश्यकता थी
मुझे अन्य उत्तरों में बताई गई कुछ चीजों का एक संयोजन करना था और फिर यहाँ एक और भी ।
VS2017:
चरण 3 निम्नलिखित समस्या को हल करने के लिए था:
"इस संदर्भ को हल नहीं कर सका। असेंबली का पता नहीं लगा सका" Microsoft.VisualStudio.QualityTools.UnitTestFramework ""
जिसके कारण तब:
"त्रुटि CS0234: प्रकार या नाम स्थान का नाम 'VisualStudio' नामस्थान 'Microsoft' में मौजूद नहीं है (क्या आप असेंबली संदर्भ याद कर रहे हैं?)
मुझे प्रोजेक्ट में कोई संदर्भ नहीं जोड़ना था। हालाँकि, vstest.console.exe का रास्ता TestAgent फ़ोल्डर में है (मेरे लिए यह "C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ TestAgent \ Common7 \ IDE \ CommonExtra \ Microsoft \ TestWindow" है। )
यहाँ उन कदमों को बताया जा रहा है जो मुझे वी.एस.
'Msdia110.dll' को c: /windows/syswow64/regsvr32.exe / i '../mstest/assemblies/msdia110.dll'( के साथ पंजीकृत करें। इसमें कोई त्रुटि थी, लेकिन किसी कारण से यह अभी भी काम कर रहा है। मैंने इसे एक युगल को चलाया। समय और विभिन्न regsvr32.exe संस्करणों की कोशिश की, इससे पहले कि मैंने जाँच की, लेकिन यह रजिस्ट्री में है)
पर्यावरण चर '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>
यदि आपको mstest.exe webtest टूल चलाने की आवश्यकता है, तो आप Visual Studio Enterprise परीक्षण स्थापित कर सकते हैं और यह सुनिश्चित कर सकते हैं कि इसे कम से कम एक बार (बस इसे शुरू करें) जिसके तहत परीक्षण कुछ अतिरिक्त आवश्यकताओं के साथ नहीं किया जाएगा। इसलिए यदि आपका परीक्षण सिस्टम खाते के तहत चलता है तो आपको नीचे दिए गए कुछ का उपयोग करने की आवश्यकता है
PS C:\agent> psexec -s cmd.exe
C:\Windows\system32>"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\mstest.exe"
Microsoft (R) Test Execution Command Line Tool Version 15.0.27520.0
Copyright (c) Microsoft Corporation. All rights reserved.
Please specify tests to run, or specify the /publish switch to publish results.
For switch syntax, type "MSTest /help"