Mitsuba 3 هو نظام عرض موجه نحو البحث تم تطويره في EPFL، ويقدم إمكانات عالية الأداء ومتعددة المنصات مع تكامل Python والعرض القابل للتمييز. يعرض هذا المستند تفاصيل ميزاته وتثبيته واستخدامه وأرصدته، مع تسليط الضوء على تعدد استخداماته لمختلف مهام العرض وتطبيقات البحث. تم تضمين تحذير بخصوص عدم الاستقرار الحالي للفرع الرئيسي.
Pitest (المعروف أيضًا باسم PIT) هو نظام اختبار الطفرة المتطور لـ Java وJVM.
اقرأ كل شيء عنها على https://pitest.org
الإصدارات
1.17.2
1.17.1
1.17.0
1.16.3
1.16.2
1.16.1
1.16.0
تغيير واجهة برمجة التطبيقات رقم 1321 متوافق مع الإصدارات السابقة، لكن المكونات الإضافية المكتوبة مقابل 1.16.0 قد لا تعمل مع الإصدارات السابقة.
1.15.8
يتم إيقاف تصفية رقم 1310 بشكل افتراضي. لتنشيطه أضف سلسلة الفلتر +funmodifiablecollection.
يضيف 1309 خاصية جديدة مخضرمة parseSurefireArgLine. يتم تعيين هذا على "صحيح" افتراضيًا، ولكن يمكن الآن تعطيل تحليل argline المؤكد عن طريق تعيينه على "خطأ".
1.15.7
1305 التغطية غير مسجلة للكود الموجود في اسم الحزم com.sun*
كان هناك عامل تصفية مخصص لالتقاط فئات JDK القديمة في الحزمة "com.sun.*" يفتقد إلى "، مما يؤدي إلى عدم تسجيل أي تغطية للتعليمات البرمجية إذا كان الكود قيد الاختبار موجودًا في حزمة تبدأ بـ "sun".
1.15.6
سيتم إعادة تقديم استدعاء التتبع الديناميكي للمكالمات لرمز التهيئة الثابت عند تنفيذ منطق إضافي لمنع تصفية الطفرات لكود التنفيذ المتأخر.
1.15.5
1.15.4
ملاحظة، قد يحتاج المستخدمون المخضرمون الذين احتاجوا سابقًا إلى تكرار معلمات argline بين معلمات jvmArgs وargline الخاصة بـ Surefire وpitest
لضبط التكوين الخاص بهم عند الترقية. سيتم الآن إضافة الإدخالات المقدمة إلى Surefire تلقائيًا إلى Piest.
1.15.3
1.15.2
سيضمن 1267 أنه سيتم الآن الإبلاغ عن الأخطاء المخفية مسبقًا التي واجهها المكون الإضافي JUnit5. هذا تغيير API متوافق مع الإصدارات السابقة. ولن يكون له أي تأثير حتى يتم تحديث المكون الإضافي JUnit5 لاستخدام واجهة برمجة التطبيقات الموسعة. لن يكون البرنامج المساعد المحدث متوافقًا مع الإصدارات السابقة من بيتست.
1.15.1
1.15.0
نتيجة لتغييرات واجهة برمجة التطبيقات المعطلة في رقم 1251، تم إنشاء ملف arcmutate kotlin
يجب ترقية البرنامج المساعد إلى 1.1.0 عند الترقية إلى بيتيست 1.15.0
1.14.4
1246 إعطاء الأولوية لاختبار القتل السابق عند استخدام ملفات التاريخ
1.14.3
1.14.2
1.14.1
1.14.0
1212 يحل إلى حد كبير مشكلة الحفاظ على إصدار البرنامج المساعد pest-junit5 متزامنًا مع إصدار junit5 لمستخدمي maven.
عند استخدامه مع الإصدار 1.2.0 من البرنامج المساعدpitest-junit5، سيقوم بيتست الآن تلقائيًا بتحديد إصدار من junit-platform-launcher الذي
متوافق مع إصدار junit5 الذي يستخدمه النظام قيد الاختبار.
لا تزال هناك مشكلات بالنسبة لمستخدمي Gradle الذين قد لا يزالون يواجهون توافقات واجهة برمجة التطبيقات عند استخدام الإصدار 1.2.0 من البرنامج المساعدpitest-junit5. ولكن يمكن هذه الآن
يمكن حلها عن طريق إضافة الإصدار الصحيح من junit-platform-launcher يدويًا إلى مسار الفصل.
من المأمول أن يقوم الإصدار المستقبلي من البرنامج المساعد piest gradle بتنفيذ إصلاح مشابه لحل piest-maven.
1.13.2
1.13.1
1.13.0
1.12.0
1.11.7
1.11.6
1.11.5
1.11.4
1.11.3
1.11.2
تتضمن إحصائيات تغطية الخط التي تم الإبلاغ عنها على وحدة التحكم سطورًا برمجية للمشروع بأكمله، حتى عند تطبيق عوامل التصفية. هذا
أدى إلى انخفاض درجات التغطية بشكل كبير.
1.11.1
1.11.0
لاحظ أن #1150 يتضمن تغييرات جذرية في الواجهة والتي قد تتطلب تحديثات للمكونات الإضافية التابعة لجهات خارجية.
1.10.4
1.10.3
1.10.2
1.10.1
1.10.0
نتيجة للرقم 1067، من المهم أن يتم إنشاء الطفرات لفئة واحدة فقط لكل JVM. لذلك تمت إزالة نقطة امتداد MutationGrouper لأن ذلك سمح بانتهاك هذا القيد. لم تعد أي مكونات إضافية تابعة لجهات خارجية تستخدم هذا الامتداد مدعومة.
تتضمن الإصدارات أيضًا تغييرات متعددة على هياكل البيانات الداخلية. قد تحتاج أي مكونات إضافية تابعة لجهة خارجية تعتمد على هذه الهياكل إلى التحديث.
يوفر 1116 طريقة خشنة لاستبعاد التعليمات البرمجية التي تم إنشاؤها تلقائيًا والتي لم يتم التقاطها بواسطة مرشحات بيتيست الأخرى. يتم تعطيله افتراضيًا لأنه قد يستبعد التعليمات البرمجية الصالحة للتحول في بعض المواقف، ولكن يمكن تمكينها عن طريق إضافة سلسلة الميزة +nofirstline.
1.9.11
1.9.10
1.9.9
1.9.8
يضيف دعمًا للغات مثل Kotlin حيث قد لا تكون الملفات المصدر ضمن بنية دليل تتوافق مع حزمتها. لاحظ أنه في حالة وجود نفس اسم الملف في أكثر من موقع واحد، فلا يمكن لـ Pitest ضمان حل الملف الصحيح.
1.9.7
1.9.6
لاحظ أن #1085 يغير السلوك الافتراضي بحيث لم تعد تتم كتابة التقارير إلى الأدلة ذات الطابع الزمني افتراضيًا. إذا كنت تطلب هذا السلوك، فستحتاج إلى تمكينه بشكل صريح.
1.9.5
1078 عبارة عن تغيير جذري في الواجهة، ولكن تم تضمينه في إصدار نقطي كما يُعتقد
حاليا لا يوجد عملاء خارجيين.
1.9.4
1.9.3
1054 ينقل دعم الإضافة التلقائية بدون رأس=صحيح (لمنع سرقة تركيز لوحة المفاتيح على أجهزة Mac) إلى إحدى الميزات.
يتم تمكينه افتراضيًا، ولكن يمكن تعطيله عن طريق إضافة -MACOS_FOCUS إلى سلسلة الميزات.
1055 يضيف خيار تخمين عدد الخيوط المناسب للجهاز الحالي عن طريق إضافة +auto_threads
سلسلة الميزات. يتم تعطيل هذا الخيار بشكل افتراضي وهو مصمم للاستخدام المحلي. لا ينصح به
للاستخدام على خادم CI.
1.9.2
1.9.1
1.9.0
نتيجة للرقم #1040، يجب أن تكون أي مكونات إضافية لاختبار Pitest الخارجية (مثل JUnit 5، وTestNG، وarcmutate accelerator)
تم تحديثه إلى إصدار متوافق (1.0.0) عند الترقية.
ملفات السجل من الإصدارات السابقة غير متوافقة ويجب حذفها عند الترقية.
1.8.1
1.8.0
1.7.6
نتيجة للرقم #1015، يجب الآن تكوين البرنامج الإضافي TestNG عند استخدام Pitest في قواعد التعليمات البرمجية التي تم اختبارها بواسطة TestNG. في الإصدارات السابقة تم تضمين الدعم تلقائيًا.
1.7.5
نتيجة للرقم 993، يجب على أي شخص يرغب في استخدام مشغلي RV الموجهين للبحث أن يقوم بتكوين البرنامج الإضافي pest-rv، ومع ذلك لا يوصى باستخدام هذه المتحولات للاستخدام العام.
1.7.4
1.7.3
1.7.2
1.7.1
1.7.0
بسبب التغييرات الداخلية، قد تكون بعض المكونات الإضافية التابعة لجهات خارجية غير متوافقة مع هذا الإصدار.
يجب حذف جميع ملفات السجل قبل الترقية.
لقد تغيرت أسماء طفرات الإزالة الشرطية قليلاً نتيجة لـ #930 و
قد تحتاج إلى التحديث في البرامج النصية للإنشاء إذا تم تنشيطها بشكل صريح.
1.6.9
1.6.8
1.6.7
نتيجة للرقم #900، أصبحت معلمة testPlugin معطلة الآن، ولكن سيستمر Pitest في قبولها دون خطأ لهذا الإصدار. سيستخدم Pitest أي محركات اختبار متوفرة في مسار الفصل، ويعود إلى دعم JUnit4 المدمج عندما لا تتمكن محركات الاختبار الأخرى من التعامل مع الفصل.
1.6.6
1.6.5
1.6.4
1.6.3
1.6.2
1.6.1
1.5.2
1.5.1
1.5.0
1.4.11
1.4.10
1.4.9
1.4.8
1.4.7
1.4.6
1.4.5
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.3.2
لاحظ عند الترقية أن ملفات السجل التي تم إنشاؤها بواسطة الإصدارات السابقة غير متوافقة مع الإصدار 1.3.2 أعلاه.
1.3.1
1.3.0
428 يغير السلوك الحالي لمرشح الفئات المستبعدة. في السابق، كان هذا يستبعد الفئات من التحور والتشغيل كاختبارات قد تتطلب تغييرات لبعض الأشخاص عند الترقية.
نتيجة لـ 429 اختبارًا من اختبارات TestNG، لن يتم اكتشافها تلقائيًا بعد الآن - يجب تعيين معلمة testPlugin الجديدة بشكل صريح على "testng".
1.2.5
1.2.4
1.2.3
1.2.2
1.2.1
(الملاحظة رقم 347 لن تكتشف javax.annotaion.Generated لأنها تحتوي على الاحتفاظ بالمصدر فقط.)
1.2.0
ملاحظة - اعتبارًا من هذا الإصدار، سيحدد المكون الإضافي maven تلقائيًا الفئات التي سيتم تغييرها بدلاً من افتراض أن أسماء الحزم تتطابق مع معرف المجموعة.
1.1.11
1.1.10
1.1.9
1.1.8
1.1.7
1.1.6
لاحظ أن هذا الإصدار يحتوي على مشكلة معروفة (#231). يرجى الترقية.
1.1.5
1.1.4
1.1.3
1.1.2
1.1.1
1.1.0
يرجى ملاحظة أن أي ملفات محفوظات مخزنة أو نتائج السونار قد تم إبطالها بواسطة هذا الإصدار.
1.0.0
0.33
0.32
لاحظ أن إعداد المشاريع المستندة إلى Ant يتغير في هذا الإصدار. راجع إعداد النمل للحصول على تفاصيل حول الاستخدام.
0.31
يغير هذا الإصدار أيضًا عددًا من تفاصيل التنفيذ الداخلي، والتي قد يكون بعضها ذا أهمية/أهمية لأولئك الذين يحافظون على الأدوات التي
التكامل مع PIT.
يتم الآن تحديد نطاق الطفرات داخليًا كما هو موضح في https://groups.google.com/forum/#!topic/pitusers/E0-3QZuMYjE
تم تقديم فئة جديدة (org.pitest.mutationtest.tooling.EntryPoint) تعمل على إزالة بعض الازدواجية التي كانت موجودة في الطرق المختلفة لبدء تحليل الطفرات.
0.30
0.29
0.28
مشكلة معروفة - إصلاح رقم 33 قد لا يحل المشكلة لمستخدمي maven 2.
لم يتم بعد اختبار اكتشاف كود Groovy باستخدام Groovy 2 والذي قد يؤدي إلى اختلاف كبير
رمز البايت إلى الإصدارات السابقة.
0.27
قد يحتاج المستخدمون الذين يقومون بالترقية إلى تعديل بنيتهم بسبب إزالة معلمة inScopeClasses
0.26
مشكلة معروفة - قد يتسبب متغير العضو الجديد في حدوث أخطاء في الأخطاء المتزامنة. المتحول هو
ومع ذلك يتم تعطيله افتراضيًا، وتتم معالجة الأخطاء الناتجة بشكل صحيح بواسطة PIT.
0.25
0.24
0.23
0.22
0.21
0.20
0.19
0.18
مشاكل
يرجى الرجوع إلى قواعد إدارة المشكلات الخاصة بنا قبل إنشاء المشكلات أو العمل عليها.
الاعتمادات
Pitest هو في الأساس عمل لي ولكنه استفاد من مساهمات العديد من الآخرين.
تشمل المساهمات البارزة غير المرئية هنا حيث تم إجراؤها قبل ترحيل هذا الرمز إلى جيثب
على الرغم من أن PIT لا تتضمن أي تعليمات برمجية من مشروع Jumble (http://jumble.sourceforge.net/)، فقد تم استخدام قاعدة بيانات Jumble كدليل عند تطوير بعض جوانب PIT.