Cómo escribir una prueba unitaria en Rust que verifique que ocurrió un panic
¡Hola a todos! Acabo de empezar a aprender Rust y estoy intentando dominar la escritura de pruebas. Tengo una función que, bajo ciertas condiciones, debe provocar un panic. Por ejemplo, escribí una función simple de división que entra en panic al dividir por cero:
```rust
fn divide(a: i32, b: i32) -> i32 {
if b == 0 {
panic!("division by zero");
}
a / b
}
```
Ahora quiero escribir una prueba unitaria que verifique que al llamar a `divide(10, 0)` realmente ocurre un panic. Pero no entiendo cómo hacerlo correctamente. Si simplemente escribo:
```rust
#[test]
fn test_divide_by_zero() {
divide(10, 0);
}
```
entonces la prueba simplemente fallará con un error, y cargo test mostrará FAILED. Eso no es lo que necesito: quiero que la prueba se considere exitosa si ocurre el panic, y que falle si no hay panic.
He oído que en Rust hay un atributo `#[should_panic]`, pero no estoy seguro de cómo usarlo. También me interesa saber: ¿se puede verificar no solo el hecho del panic, sino también su mensaje?