سؤال

نحن نفكر في نقل اختباراتنا من MSTest إلى XUnit.

هل هناك أي تطبيق ترحيل يأخذ MSTest ويرحله إلى XUnit؟

أيضًا، إذا لم يكن الأمر كذلك، فما الذي يجب أن أبحث عنه عند القيام بذلك؟

شكرًا.دينار أردني.

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

المحلول

لقد قمت بنقل عدد لا بأس به من الاختبارات مؤخرًا.يعتمد الأمر على عدد الاختبارات التي تقوم بتحويلها ونوعها، ولم تقتل نفسك بتزويدنا بالتفاصيل.بشكل عام، أعتقد أنه من الآمن افتراض أن متجر MSTest العادي الخاص بك لن يكون مصابًا بالاختبار على نطاق واسع، وبالتالي لن يتعمق في كل زاوية مظلمة من MSTest.

كل ال Assert.* الأساليب وسمات الاختبار الأساسية هي عملية البحث والاستبدال البسيطة.أما الحالات الأكثر ندرة، فإنني أتوجه عمومًا نحو تقييم كل حالة على حدة.ما لم تكن خبيرًا في xUnit.net بالفعل، فلديك الكثير لتتعلمه وهذا سيساعدك.

كما أن استخدام Assert.Fail ليس تحولا بسيطا.والشيء الآخر هو تحويل TestClassInitialize إلى IUseFixture - وهو أمر سهل التنفيذ، ولكن من الصعب تشغيله تلقائيًا.

إذا كان الأشخاص يستخدمون مراجع الاختبار، فلن تتمكن من إزالة المرجع إلى مجموعة MSTest (وستظل بحاجة إلى وجود VS على خادم البناء الخاص بك - وسيستمر الفشل بشكل عشوائي في مهام الظل، راجع أسئلة).

كان أكبر عمل يدوي بالنسبة لي هو مراجعة 20 سطرًا من النموذج النموذجي في منطقة بالأعلى لمعرفة ما إذا كان أي شخص قد استخدم بالفعل أيًا من السمات المخصصة قبل حذفها.

الشيء الرئيسي الذي كان من الممكن أن يتطلب الكثير من العمل لولا قالب CodeRush هو التحويل ExpectedException ل Assert.Throws.إذا لم يكن لديك CodeRush أو ReSharper في هذه الوظيفة، فسوف تسرق الأموال من صاحب العمل.

نصائح أخرى

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