سؤال

يحتوي إطار عمل JUnit على 2 Assert يبدو أن الفئات (في حزم مختلفة، بشكل واضح) والطرق في كل منها متشابهة جدًا.هل يمكن لأحد أن يشرح لماذا هذا؟

الفصول التي أقصدها هي: junit.framework.Assert و org.junit.Assert.

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

المحلول

وكانت الطريقة القديمة (من أداة JUnit 3) للاحتفال اختبار الطبقات من خلال توسيع junit.framework.TestCase. أن junit.framework.Assert الموروثة نفسها والطبقة الاختبار اكتسبت القدرة على استدعاء الأساليب ASSERT بهذه الطريقة.

ومنذ الإصدار 4 من أداة JUnit، يستخدم إطار Annotations لوضع علامات الاختبارات. لذلك لم تعد هناك حاجة لتمديد TestCase. ولكن هذا يعني، وأساليب ASSERT غير متوفرة. ولكن يمكنك جعل استيراد ثابت من الطبقة Assert جديدة. هذا هو السبب في كل الطرق تأكيد في فئة جديدة هي أساليب ثابتة. حتى تتمكن من استيراده بهذه الطريقة:

import static org.junit.Assert.*;

وبعد هذا الاستيراد ثابت، يمكنك استخدام هذه الأساليب من دون بادئة.

وفي إعادة تصميم انتقلوا أيضا إلى حزمة org.junit الجديد الذي يتبع الاتفاقيات الطبيعية أفضل لحزمة التسمية.

نصائح أخرى

وأداة JUnit 3.X: junit.framework.Assert

وأداة JUnit 4.X: org.junit.Assert

ويفضل أحدث واحد، وخاصة عند تشغيل JDK5 وأعلى مع دعم الشرح.

وهناك في الواقع تغيير وظيفي: سوف org.junit.Assert يشكو إذا كنت تستخدم assertEquals() يومين حجة مع float أو double، في حين junit.framework.Assert سوف autobox ذلك بصمت

.

وأعتقد أنهم إعادة بيع ديون من junit.framework إلى org.junit والحفاظ junit.framework.Assert من أجل التوافق الوراء.

لقد أجريت مقارنة تقريبية لشفرة المصدر ولم تكن هناك تغييرات جدية.تمت إضافة الكثير من التعليقات org.junit.Assert وتمت بعض عمليات إعادة البناء.التغيير الوحيد هو المقارنة مع Arrays.هناك بعض عمليات تنظيف التعليمات البرمجية، ولكن هناك (إيمهو) لا يوجد تغيير وظيفي.

في الروبوت استوديو (وذلك في IntelliJ للغاية)، يمكنك استبعاد عالميا junit.framework من اقتراح لصناعة السيارات في الاستيراد.

ويمكنك ضبط النطاق بين IDE أو Project. إذا لم يكن لديك المشاريع التي تستخدم أداة JUnit 3 يمكنك البقاء بأمان مع نطاق IDE.

والموقف إعداد:

<اقتباس فقرة>   

تفضيلات -> محرر -> عام -> استيراد السيارات

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