لماذا لا يقوم println! بطباعة النص في اختبارات الوحدة في Rust؟
مرحبًا بالجميع! لقد بدأت للتو في تعلم Rust وواجهت مشكلة غريبة. أكتب اختبار وحدة بسيطًا لدالة تجمع رقمين. أريد طباعة النتيجة في وحدة التحكم لأغراض التصحيح، لكن `println!` داخل الاختبار لا يطبع شيئًا. إليك الكود الخاص بي:
```rust
fn add(a: i32, b: i32) -> i32 {
a + b
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_add() {
let result = add(2, 3);
println!("النتيجة: {}", result); // لا يطبع شيئًا!
assert_eq!(result, 5);
}
}
```
أقوم بتشغيل الاختبار باستخدام الأمر `cargo test` وأرى فقط رسالة "running 1 test" و"test result: ok". لا يوجد أي إخراج في وحدة التحكم. جربت حتى استخدام `println!("Hello")` في بداية الاختبار — ولا شيء.
كنت أتوقع أن يعمل `println!` كما في البرنامج العادي. هل هذا خطأ في المترجم؟ أم أنني أستخدم الاختبارات بشكل غير صحيح؟ من فضلك، أخبرني كيف يمكنني طباعة معلومات التصحيح في اختبارات Rust. شكرًا مقدمًا!