Avatar ·

Wie schreibt man einen Unit-Test in Rust, der prüft, ob eine Funktion panikt?

Hallo zusammen! Ich habe gerade angefangen, Rust zu lernen, und versuche, Tests für meine Bibliothek zu schreiben. Ich habe eine Funktion, die unter bestimmten Bedingungen eine Panik auslösen soll. Zum Beispiel habe ich einen einfachen Rechner geschrieben, und die Divisionsfunktion sollte bei einer Division durch Null paniken. Hier ist mein Code: ```rust fn divide(a: i32, b: i32) -> i32 { if b == 0 { panic!("Division by zero!"); } a / b } ``` Ich möchte einen Unit-Test schreiben, der prüft, ob beim Aufruf von `divide(10, 0)` tatsächlich eine Panik auftritt. Ich habe versucht, `#[should_panic]` zu verwenden, bin mir aber nicht sicher, ob ich es richtig mache. Außerdem habe ich gehört, dass es fortgeschrittenere Möglichkeiten gibt, eine Panik mit einer Nachricht zu prüfen. Könnt ihr mir sagen, wie man solche Tests in Rust richtig schreibt? Gibt es vielleicht Best Practices oder alternative Ansätze? Vielen Dank im Voraus für eure Hilfe! <<>>

Der grundlegende Weg: das Attribut #[should_panic]

Der einfachste und gebräuchlichste Weg, um zu prüfen, ob eine Funktion in