Avatar ·

Como escrever um teste unitário em Rust que verifica se uma função entra em pânico?

Olá a todos! Comecei recentemente a aprender Rust e estou tentando escrever testes para minha biblioteca. Tenho uma função que, sob certas condições, deve entrar em pânico. Por exemplo, escrevi uma calculadora simples, e a função de divisão deve entrar em pânico ao tentar dividir por zero. Aqui está meu código: ```rust fn divide(a: i32, b: i32) -> i32 { if b == 0 { panic!("Division by zero!"); } a / b } ``` Quero escrever um teste unitário que verifique se chamar `divide(10, 0)` realmente causa pânico. Tentei usar `#[should_panic]`, mas não tenho certeza se estou fazendo certo. Além disso, ouvi dizer que existem maneiras mais avançadas de verificar pânico com mensagem. Digam-me como escrever esses testes corretamente em Rust? Existem best practices ou abordagens alternativas? Desde já agradeço pela ajuda! <<>>

Maneira principal: atributo #[should_panic]

A maneira mais simples e comum de verificar se uma função entra em