मुझे TFS2010 निर्माण प्रक्रिया के लिए MSTest.exe के बजाय VSTest.Console.exe का उपयोग करने की सटीक आवश्यकता है जो VFS2012/.NET 4.5 x64 अनुप्रयोग को संकलित करता है, जबकि TFS2012 को अपग्रेड करने के लिए अपग्रेड की प्रतीक्षा करता है।
मैंने जो दृष्टिकोण लिया है, वह बिल्ड स्क्रिप्ट XAML को संपादित करना था, यूनिट परीक्षणों के लिए मौजूदा वर्कफ़्लो को हटा दिया गया था और इसे एक वर्धित वर्कफ़्लो के साथ बदल दिया गया था जो VSTest.Console.exe पैरामीटर बनाता है और फिर VSTest.Console.exe को निष्पादित करता है InvokeProcess। मैंने तब सुनिश्चित किया कि आखिरकार ब्लॉक में परीक्षण परिणाम के बावजूद कि हम बिल्ड सर्वर पर VS2012 स्थापना से MSTest.exe का उपयोग कर परीक्षण परिणामों और कोड कवरेज को TFS में प्रकाशित करते हैं।
दुर्भाग्यवश मैं एक्सएएमएल को उत्तर में पोस्ट नहीं कर सकता क्योंकि यह वर्ण की लंबाई से अधिक है, लेकिन मेरे पास एक टेक्स्ट फ़ाइल है जिसमें स्निपेट को डिफ़ॉल्ट टेम्पलेट.एक्सएएमएल में प्रतिस्थापित किया जाना है और इसे किसके साथ बदलना है। फ़ाइल here मिल सकती है। कृपया ध्यान दें कि यद्यपि यह दृष्टिकोण काम करता है यह एक हैक है।
एक और विकल्प एमएसटीएस्ट या वीएसटीएस्ट के बजाय एनयूनीट का उपयोग करना होगा। इस समर्थन के रूप में 64-बिट बाइनरी। यह article बताता है कि TFS2010 बिल्ड स्क्रिप्ट में NUnit को कैसे एकीकृत किया जाए, और ऐसा करने के लिए आवश्यक टूल और संसाधनों के लिंक हैं। एनयूनीट के साथ एकमात्र मुद्दे कोड कवरेज (अभी तक एक और टूल की आवश्यकता है, इन परिणामों को टीएफएस में कैसे प्रकाशित करें) और एमएसटीएस्ट-स्टाइल एकीकरण परीक्षण जैसे डिप्लॉयमेंट इटैम और टेस्टकॉन्टेक्स्ट जैसे गुणों का उपयोग करके परीक्षण करें, यही कारण है कि मैं कहां काम करता हूं VSTest.Console.exe दृष्टिकोण।
और जो मैंने पढ़ा है उससे TFS2012 बिल्ड स्क्रिप्ट से VSTest.Console.exe को आसान एकीकरण प्रदान करता है, इसलिए यदि आप कभी भी TFS2012 में अपग्रेड करते हैं तो VSTest.Console.exe हैक जिसे मैंने दस्तावेज किया है, की आवश्यकता नहीं हो सकती है।
स्रोत
2013-03-26 01:55:10
ग्रेट। विशेष रूप से जेनरेट की गई ट्रिक्स फ़ाइल खोजने के लिए हिस्सा। धन्यवाद। – paulroho
'$ MSTestpath' क्यों घोषित किया गया है और कभी भी उपयोग नहीं किया जाता है? '$ TestResDir' कहां घोषित किया गया है और यह किस पर सेट है? –