Rust

Testing

Unit-Tests, Integrationstests, Doc-Tests, Assertions, should_panic, Benchmarks, Testorganisation

18 Interview-Fragen·
Mid-Level
1

Welches Attribut markiert eine Funktion als Unit-Test in Rust?

Antwort

Das Attribut #[test] teilt dem Rust-Compiler mit, dass die annotierte Funktion ein Unit-Test ist. Beim Ausführen von cargo test werden alle mit diesem Attribut markierten Funktionen automatisch erkannt und ausgeführt. Tests werden nur mit dem Test-Profil kompiliert und sind nicht im Produktions-Binary enthalten.

2

Welcher Cargo-Befehl führt alle Tests in einem Rust-Projekt aus?

Antwort

Der Befehl cargo test kompiliert das Projekt mit aktivierten Tests und führt alle Unit-, Integrations- und Dokumentationstests aus. Er erkennt automatisch mit #[test] markierte Funktionen, Tests im Verzeichnis tests/ und Codebeispiele in der Dokumentation. Optionen ermöglichen das Filtern der Tests nach Name oder Modul.

3

Welches Makro sollte verwendet werden, um in einem Test zu prüfen, dass zwei Werte gleich sind?

Antwort

Das Makro assert_eq! vergleicht zwei Werte und lässt den Test fehlschlagen, wenn sie nicht gleich sind. Dank des Debug-Traits zeigt es bei einem Fehlschlag automatisch die verglichenen Werte an, was das Debugging erleichtert. Im Gegensatz zu assert! liefert es eine aussagekräftigere Fehlermeldung, die den erwarteten und den tatsächlichen Wert zeigt.

4

Wo sollten Integrationstests in einem Rust-Projekt platziert werden?

5

Welches Attribut sollte verwendet werden, um zu testen, dass eine Funktion einen Panic auslöst?

+15 Interview-Fragen

Meistere Rust für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten