Avatar ·

كيفية اختبار الاستثناءات بشكل صحيح في Kotlin باستخدام JUnit؟

مرحبًا بالجميع! أنا مبتدئ في Kotlin وأحاول كتابة اختبارات الوحدة لمشروعي. كنت أكتب سابقًا بلغة Java، حيث كنت أستخدم `@Test(expected = ...)` أو كتل `try-catch` للتحقق من الاستثناءات. لكن في Kotlin واجهت مشكلة — أصبح الكود أقل قابلية للقراءة، ولست متأكدًا من أنني أفعل كل شيء بشكل صحيح. لدي دالة `divide(a: Int, b: Int): Int` التي ترمي `IllegalArgumentException` إذا كان المقسوم عليه صفرًا. إليك كيف حاولت الاختبار: ```kotlin @Test fun testDivisionByZero() { try { divide(10, 0) fail("Exception expected") } catch (e: IllegalArgumentException) { // success } } ``` هذا يعمل، لكنه يبدو ضخمًا. سمعت أن هناك طرقًا أكثر حداثة في Kotlin، مثل استخدام `assertThrows` من JUnit 5. لكنني لست متأكدًا من كيفية تطبيقها بشكل صحيح، وما هي أفضل الممارسات (best practices) الموجودة لـ Kotlin. أرجو إرشادي: 1. ما هي الطريقة الأكثر أصالة (idiomatic) لـ Kotlin؟ 2. هل هناك ك