Avatar ·

كيفية التحقق في JUnit من أن طريقة ترمي استثناءً معينًا؟

مرحبًا بالجميع! لقد بدأت للتو في تعلم Java وأكتب اختبارات الوحدة باستخدام JUnit 4. لدي طريقة يجب أن ترمي IllegalArgumentException عند إدخال بيانات غير صحيحة. على سبيل المثال، هذه الطريقة: ```java public int divide(int a, int b) { if (b == 0) { throw new IllegalArgumentException("المقسوم عليه لا يمكن أن يكون صفرًا"); } return a / b; } ``` أريد كتابة اختبار يتحقق من أنه عند تمرير b = 0 يتم رمي هذا الاستثناء بالفعل. جربت القيام بذلك: ```java @Test public void testDivideByZero() { Calculator calc = new Calculator(); calc.divide(10, 0); // أتوقع استثناءً، لكن الاختبار يفشل مع خطأ } ``` لكن الاختبار يفشل ببساطة مع الاستثناء، ويعتبر JUnit هذا خطأ في الاختبار. سمعت أن هناك معامل `expected` في التعليمة `@Test` وبعض القواعد الأخرى. أرجو إرشادي حول كيفية كتابة هذا الاختبار بشكل صحيح؟ المهم أن يمر الاختبار باللون الأخضر عند رمي الاستثناء، ويفشل إذا لم يتم رميه.