
Testing
Testy jednostkowe, testy integracyjne, doc testy, asercje, should_panic, benchmarki, organizacja testów
1Który atrybut oznacza funkcję jako test jednostkowy w Rust?
Który atrybut oznacza funkcję jako test jednostkowy w Rust?
Odpowiedź
Atrybut #[test] informuje kompilator Rust, że oznaczona funkcja jest testem jednostkowym. Podczas uruchamiania cargo test wszystkie funkcje oznaczone tym atrybutem są automatycznie wykrywane i wykonywane. Testy są kompilowane tylko z profilem test i nie są dołączane do binarki produkcyjnej.
2Które polecenie Cargo uruchamia wszystkie testy w projekcie Rust?
Które polecenie Cargo uruchamia wszystkie testy w projekcie Rust?
Odpowiedź
Polecenie cargo test kompiluje projekt z włączonymi testami i uruchamia wszystkie testy jednostkowe, integracyjne oraz dokumentacyjne. Automatycznie wykrywa funkcje oznaczone #[test], testy w katalogu tests/ oraz przykłady kodu w dokumentacji. Opcje pozwalają filtrować testy według nazwy lub modułu.
3Którego makra należy użyć, aby sprawdzić, że dwie wartości są równe w teście?
Którego makra należy użyć, aby sprawdzić, że dwie wartości są równe w teście?
Odpowiedź
Makro assert_eq! porównuje dwie wartości i powoduje niepowodzenie testu, jeśli nie są równe. Dzięki traitowi Debug automatycznie wyświetla porównywane wartości w przypadku niepowodzenia, co ułatwia debugowanie. W przeciwieństwie do assert! dostarcza bardziej informacyjny komunikat błędu pokazujący wartość oczekiwaną i wartość rzeczywistą.
Gdzie należy umieszczać testy integracyjne w projekcie Rust?
Którego atrybutu należy użyć, aby przetestować, że funkcja powoduje panic?
+15 pytań z rozmów
Inne tematy rekrutacyjne Rust
Podstawy Rusta
Ownership & Borrowing
Structs & Enums
Obsługa błędów
Kolekcje
Moduły i pakiety
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Cargo & Ecosystem
Pattern Matching
Makra
Serde i serializacja
Unsafe Rust
Zaawansowane traity
Zaawansowane Lifetime
Type System
Tokio & Async I/O
Optymalizacja Wydajności
Memory Management
Web Frameworks
Database Integration
Wzorce projektowe w Rust
Opanuj Rust na następną rozmowę
Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.
Zacznij za darmo