تشغيل MSTEST.exe /publish على خادم TeamBuild، ما هي المتطلبات الأساسية؟

StackOverflow https://stackoverflow.com/questions/1062994

سؤال

مشابه ل كيفية استخدام MsTest في التكامل المستمر بدون VS؟, ، أريد تشغيل mstest.exe على خادم TeamBuild.

السياق الخاص بي هو تعويض حالة الخطأ في MSBuild - على سبيل المثال، أحاول فقط استخدام mstest.exe /publish لتحميل النتائج إلى مستودع TFS.وهكذا التلاعب الكامل في http://www.shunra.com/shunrablog/index.php/2009/04/23/running-mstest-without-visual-studio/ من المحتمل (كنت تأمل) أن تكون مبالغة، خاصة مثل MSTEST.exe، كما هو موضح في http://social.msdn.microsoft.com/Forums/en-US/tfsgeneral/thread/e4575890-8f88-413c-a7f3-0d09d3b9cb01 يقترح أن كل ما علي فعله هو تثبيت Team Explorer.

لقد قمت بتثبيت VS2008 Team Explorer SP1 وmstest.exe /؟لا يزال لا يخبرني عن خيارات النشر.

أذكر أنه يقول فقط مستكشف الفريق مطلوب من mstest.exe /؟للنشر:

تتوفر الخيارات التالية أيضًا في حالة تثبيت Team Explorer:

/Publish: [اسم الخادم] نشر النتائج على خادم Foundation Team.

/publishBuild: [اسم البناء] معرف الإنشاء ليتم استخدامه لنشر نتائج الاختبار.

/publishResultSfile: [اسم الملف] اسم ملف نتائج الاختبار للنشر.إذا لم يتم تحديد أي منها ، فاستخدم الملف الذي تم إنتاجه بواسطة تشغيل الاختبار الحالي.

/TeamProject: [اسم مشروع الفريق] اسم مشروع الفريق الذي ينتمي إليه البناء.حدد هذا عند نشر نتائج الاختبار.

/النظام الأساسي: [منصة] منصة البناء التي لنشر نتائج الاختبار.

/نكهة: [نكهة] نكهة البناء التي لنشر نتائج الاختبار.

سأتبع المسار procmon.exe لمعرفة ما هو مفقود، ولكن من الأفضل أن يتدخل شخص مطلع ويجيب: -

هل يجب أن يتطلب mstest.exe /publish فقط Team Explorer كما هو مذكور، أم أنه يتطلب VSTT وTeam Explorer؟

هل كانت مفيدة؟

المحلول

يقوم خيار /publish الخاص بـ MSTest.exe بإجراء فحص الترخيص للتأكد من تثبيت إصدار "Team" من Visual Studio (أي.إصدار المطور أو الإصدار التجريبي) قبل أن يقوم بجزء النشر من التعليمات البرمجية.

يبدو أن هذا القيد قد تم تقديمه للسماح بإمكانيات اختبار الوحدة الأساسية في الإصدارات القياسية من Visual Studio ولكنه يتطلب أن يكون لديك أحد إصدارات Team الأكثر تكلفة من Visual Studio لتمكين الميزات ذات الصلة بـ "الفريق" في الاختبار - مثل النشر نتائج الاختبار الخاصة بك إلى TFS.

في المجمل، هناك 3 ميزات مفقودة إذا لم يكن لديك إصدار Team من Visual Studio مع تثبيت Team Epxlorer.

  • النشر إلى TFS
  • مدونة التغطية
  • الاتصال بالوكيل البعيد.

إذا كان لديك إصدار التطوير مثبتًا، فستحصل على النشر وتغطية التعليمات البرمجية ولكن ليس إمكانيات الوكيل البعيد (أي.للقيام بالتحميل).

يحتوي الإصدار التجريبي وVisual Studio Team Suite على كل شيء.

إذا كنت ترغب في رؤية مثال لمهمة MSBuild مخصصة تستخدم MSTest.exe لنشر بيانات اختبار الوحدة من خادم البناء (في هذا المثال بيانات اختبار JUnit)، فقم بإلقاء نظرة على ملحقات بناء Teamprise التي كتبتها.الكود المصدري لهذه متاح تحت المسموح به MS-PL ترخيص مفتوح المصدر.

نصائح أخرى

أنا قد قرأت في منتديات MSDN أن /publish تتطلب وظيفة mstest شراء إصدار VS Team Developer أو VS Team Test.أي إصدارات أقل مثل Standard/Professional أو Team Explorer لا تحتوي عليها.

أود حقًا رؤية المزيد من الأدلة، لأنه يبدو من غير المعقول إلى حد ما أنه باستخدام VS2008 "القياسي" يمكنك كتابة اختبارات الوحدة وتشغيلها، لكن لا يمكنك تشغيلها بشكل تعسفي على جهاز البناء الخاص بك :-(

للإجابة على السؤال:

هل يجب أن يتطلب mstest.exe /publish فقط Team Explorer، أم أنه يتطلب VSTT وTeam Explorer؟

يبدو أنه يتطلب VSTT (والذي أفترض أنه يعني إصدار اختبار فريق الاستوديو المرئي)

حسنا، الرسالة التي تحصل عليها عند التشغيل mstest.exe /? هو في الواقع مضللة للغاية.يخبرك أن Team Explorer مطلوب لنشر نتائج الاختبار، ولكن لسوء الحظ، فإن تثبيت Team Explorer لا يغير أي شيء.كما ذكر مارتن، تقوم MsTest بفحص الترخيص للتأكد من تثبيت الإصدار المناسب من Visual Studio وبالتالي عدم توفر "/publish" والمفاتيح الأخرى.

وبالإصدار "المناسب"، تعني كلمة MsTest الإصدار Premium أو Ultimate، ولست متأكدًا من الإصدارات الأخرى.

تقول Microsoft أنه يجب عليك تثبيت Visual Studio على الخادم الخاص بك للحصول على CI مميز بالكامل وهذا هو الحل الرسمي والمدعوم الوحيد، ولكن إذا كنت لا تحب هذا المفهوم حقًا (وأنا لا أحبه)، فيمكنك جعل MsTest تعتقد ذلك تم تثبيت Visual Studio على الخادم الخاص بك.

يكفي تصدير بعض مفاتيح التسجيل من جهاز التطوير الخاص بك إلى خادم CI الخاص بك وفويلا!- تقوم MsTest بنشر نتائج الاختبار الخاصة بك إلى TFS.مفاتيح التسجيل موجودة فيHKLM\SOFTWARE\Microsoft\VisualStudio\12.0\Licensesاو عندHKLM\Software\Wow6432Node\Microsoft\VisualStudio\12.0\Licensesاعتمادا على النظام الخاص بك.

يمكنك العثور على مزيد من التفاصيل حول هذا الحل هنا:http://blog.foxxtrot.net/2010/02/hacking-mstest-out-of-visual-studio.html

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top