
Testing
Birim testleri, entegrasyon testleri, doc testleri, assertion'lar, should_panic, benchmark'lar, test organizasyonu
1Rust'ta bir fonksiyonu birim testi olarak işaretleyen öznitelik hangisidir?
Rust'ta bir fonksiyonu birim testi olarak işaretleyen öznitelik hangisidir?
Cevap
#[test] özniteliği, Rust derleyicisine anote edilmiş fonksiyonun bir birim testi olduğunu söyler. cargo test çalıştırıldığında, bu öznitelikle işaretlenmiş tüm fonksiyonlar otomatik olarak keşfedilir ve çalıştırılır. Testler yalnızca test profiliyle derlenir ve üretim binary'sine dahil edilmez.
2Bir Rust projesindeki tüm testleri hangi Cargo komutu çalıştırır?
Bir Rust projesindeki tüm testleri hangi Cargo komutu çalıştırır?
Cevap
cargo test komutu, projeyi testler etkin olarak derler ve tüm birim, entegrasyon ve dokümantasyon testlerini çalıştırır. #[test] ile işaretlenmiş fonksiyonları, tests/ dizinindeki testleri ve dokümantasyondaki kod örneklerini otomatik olarak keşfeder. Seçenekler, testleri ada veya modüle göre filtrelemeye olanak tanır.
3Bir testte iki değerin eşit olduğunu kontrol etmek için hangi makro kullanılmalıdır?
Bir testte iki değerin eşit olduğunu kontrol etmek için hangi makro kullanılmalıdır?
Cevap
assert_eq! makrosu iki değeri karşılaştırır ve eşit değillerse testi başarısız kılar. Debug trait'i sayesinde başarısızlık durumunda karşılaştırılan değerleri otomatik olarak gösterir ve hata ayıklamayı kolaylaştırır. assert!'in aksine, beklenen değeri ve gerçek değeri gösteren daha bilgilendirici bir hata mesajı sağlar.
Bir Rust projesinde entegrasyon testleri nereye yerleştirilmelidir?
Bir fonksiyonun panic'e neden olduğunu test etmek için hangi öznitelik kullanılmalıdır?
+15 mülakat soruları
Diğer Rust mülakat konuları
Rust Temelleri
Ownership & Borrowing
Structs & Enums
Hata Yönetimi
Koleksiyonlar
Modüller ve Paketler
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Cargo & Ecosystem
Pattern Matching
Makrolar
Serde ve Serileştirme
Unsafe Rust
Gelişmiş Trait'ler
İleri Düzey Lifetime
Type System
Tokio & Async I/O
Performans Optimizasyonu
Memory Management
Web Frameworks
Database Integration
Rust Tasarım Desenleri
Bir sonraki mülakatın için Rust'de uzmanlaş
Tüm sorulara, flashcards'a, teknik testlere, code review alıştırmalarına ve mülakat simülatörlerine eriş.
Ücretsiz başla