سؤال

ولقد تم ترميز الاختبارات في Junit4 مع الربيع، وحصلت على هذا السلوك مضحك:

وإذا كان لي أن الاختبارات يتم تمرير مثل هذا، كل شيء على ما يرام:

@Test
public void truthTest(){

    assertTrue(true); //Ok

}

ولكن، إذا فشل اختبار لي:

@Test
public void truthTest(){

    assertTrue(false); //ERROR

}

وبعد ذلك بدلا من فشل اختبار أتلقى تتبع المكدس القبيح وخفي، وهذا كل شيء:

http://pastie.org/429912

وعذرا لهذا تفريغ القبيح، ولكن من البيانات الوحيد عندي لشرح المشكلة (I "pastied" من أجل سهولة القراءة)

وأنا في حيرة حقا، وقد أي شخص واجه هذا النوع من المشاكل من قبل؟ ويرجع الفضل في ذلك مسبقا!

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

المحلول

http://jira.springframework.org/browse/SPR-5145

وإنها قضية معروفة مع ربيع اختبار 2.5.x. إذا كانت غير متماشية مع أداة JUnit 4.5. استخدام 4،0-4،4.

وأو يمكنك محاولة التصحيح في قضية تعقب.

نصائح أخرى

وكان لي نفس المشكلة عندما كتبت لي الربيع JUnit الاختبارات. مثل الكثير من الوظائف المتاحة على الانترنت، وهناك بدائل اثنين فقط

1) البقاء حتى موعد مع النسخة الربيع واستخدام أحدث إصدار من أداة JUnit أو 2) ترك الخاص بك نسخة الربيع واستخدام أداة JUnit الحالي نسخة 4.4 أو أقل.

واخترت الخيار رقم 2 حيث تركنا نسخة الربيع لدينا في 2.5 وتحميل أداة JUnit 4.4. كل شيء يعمل بشكل جيد بعد ذلك.

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

و-Prashanth

وماذا لو كنت المستوردة AssumptionViolatedException إلى الدرجة الاختبار؟

ويبدو أنه لا يمكن العثور على فئة لرمي استثناء المناسب.

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