Rust

Testing

Testy jednostkowe, testy integracyjne, doc testy, asercje, should_panic, benchmarki, organizacja testów

18 pytań z rozmów·
Mid-Level
1

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.

2

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.

3

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ą.

4

Gdzie należy umieszczać testy integracyjne w projekcie Rust?

5

Którego atrybutu należy użyć, aby przetestować, że funkcja powoduje panic?

+15 pytań z rozmów

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