Avatar ·

كيفية كتابة اختبار وحدة في Rust يتحقق من أن الدالة تسبب panic؟

مرحباً بالجميع! لقد بدأت للتو في تعلم Rust وأحاول كتابة اختبارات لمكتبتي. لدي دالة يجب أن تسبب panic في ظروف معينة. على سبيل المثال، كتبت آلة حاسبة بسيطة، ودالة القسمة يجب أن تسبب panic عند محاولة القسمة على صفر. إليك الكود الخاص بي: ```rust fn divide(a: i32, b: i32) -> i32 { if b == 0 { panic!("Division by zero!"); } a / b } ``` أريد كتابة اختبار وحدة يتحقق من أن استدعاء `divide(10, 0)` يسبب panic بالفعل. حاولت استخدام `#[should_panic]`، لكنني لست متأكداً من أنني أفعل ذلك بشكل صحيح. بالإضافة إلى ذلك، سمعت أن هناك طرقاً أكثر تقدماً للتحقق من panic مع رسالة. أرجو إرشادي حول كيفية كتابة مثل هذه الاختبارات في Rust بشكل صحيح. هل هناك best practices أو طرق بديلة؟ شكراً مقدماً على المساعدة! <<>>

الطريقة الأساسية: السمة #[should_panic]

أبسط وأكثر طريقة شيوعاً للتحقق من أن الدالة تسبب panic في