كيف يتم تعيين دليل العمل الافتراضي لتكوينات تشغيل JUnit في Eclipse؟

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

سؤال

يقرأ كود Java الخاص بنا (وليس رمز الاختبار) الملفات من الدليل الحالي، مما يعني أنه يجب ضبط دليل العمل بشكل صحيح عندما نقوم بتشغيل الكود.

عند تشغيل اختبار JUnit من داخل Eclipse، يتم إنشاء تكوين الإطلاق تلقائيًا.تكمن المشكلة في أن دليل العمل في تكوين الإطلاق هذا هو دائمًا دليل المشروع الجذر افتراضيًا وهو خطأ دائمًا، ويفشل الاختبار، ولا بد لي من فتح مربع حوار تكوين الإطلاق، وتغيير دليل العمل وإعادة تشغيل الاختبار.هذا مزعج جداًيحدث نفس الشيء عندما أقوم بتشغيل طريقة اختبار واحدة.

لقد فكرت بالفعل في هذه:

  • تغيير الدليل الحالي من رمز الاختبار - غير ممكن حسب التصميم.
  • عند فتح ملف، قم بتمرير معلمة الدليل الأصلي - وهو أمر صعب للغاية، لأن هذا قد يؤثر على الكثير من الأماكن.
  • استخدم ال انسخ تكوين الإطلاق ميزة Eclipse لإنشاء تكوينات تشغيل جديدة من التكوينات الموجودة التي تحتوي بالفعل على مجموعة دليل العمل الصحيحة.هذا غير منطقي حقًا هنا، لأنني أرغب في إطلاق اختبار أو طريقة اختبار بسرعة، فقط عن طريق استدعاء "تشغيل هذا الاختبار/الطريقة كاختبار JUnit".

بشكل عام، يبدو أنها مسؤولية Eclipse، وليس الكود.

هل هناك طريقة لتعيين تقصير دليل العمل ل كل المستقبل، تم إنشاؤه حديثا تكوينات إطلاق JUnit؟

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

المحلول 2

بقدر ما أستطيع أن أقول، لا توجد طريقة لتغيير دليل العمل الافتراضي لتكوينات إطلاق JUnit المستقبلية في Eclipse 3.4.وكانت هذه المسألة أيضا تم الإبلاغ عنها على أنها خطأ في قاعدة بيانات الأخطاء Eclipse.

ومع ذلك، فمن الممكن في IDEA.هناك تحرير الافتراضيات زر لتعيين جميع أنواع الإعدادات الافتراضية لكل نوع من أنواع تكوين التشغيل بشكل منفصل.

نصائح أخرى

هذه إجابة ذاتية:

أعتقد أنك تجري اختباراتك بشكل خاطئ، فلا ينبغي عليك تحميل الملفات من JUnit باستخدام مسارات نسبية أو كاملة، ولكن بدلاً من ذلك، اجعلها كموارد في المشروع (أضفها إلى مسار البناء) وقم بتحميلها كموارد في اختبارات JUnit.بهذه الطريقة، إذا تغير شيء ما في نظام الملفات، أو استخدم شخص ما نظام ملفات أو IDE مختلفًا ولكن لا يزال لديه ذلك في مسار البناء (كمجلدات مصدر)، فلن تواجه مشكلة.

لست متأكدًا مما إذا كان هذا هو ما تقصده ولكن إذا كنت تريد تغييره حقًا، فانتقل إلى خيارات تشغيل التكوين -> وحدة JUnit الخاصة بك -> علامة التبويب الوسائط، في الجزء السفلي (Eclipse 3.4) ترى دليل العمل، انقر فوق "أخرى" و تغييره من هناك.

مع Eclipse 3 يمكنك تعيين دليل العمل الخاص بك.انتقل إلى تكوين التشغيل/التصحيح -> علامة التبويب الوسائط.في دليل العمل، حدد "أخرى" وأدخل جذر الاختبار الخاص بك

لم أجد إمكانية للقيام بذلك، ولكن ما يمكنك فعله هو استخدام:

getClass().getResourceAsStream(filename);

getClass().getClassLoader().getResourceAsStream(filename);

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

هذا لا يعمل ولكن إذا كنت تريد الكتابة إلى ملف أيضًا.

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

إذا كان لديك فئة فائقة في معظم اختباراتك، فاكتب ثابتًا بداخلها.أو:إذا كان لديك فئة فائقة في معظم اختباراتك، فاكتب طريقة الإعداد @Before.أو:إذا لم يكن لديك فئة فائقة في معظم اختباراتك، فاكتب ثابتًا في بعض فئات قاعدة بيانات الاختبار.

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