Outros Tipos de Testes
Testes de Integração
Se quiser testar sua biblioteca como um cliente, use um teste de integração.
Crie um arquivo .rs
em tests/
:
// tests/my_library.rs
use my_library::init;
#[test]
fn test_init() {
assert!(init().is_ok());
}
Esses testes tĂȘm acesso somente Ă API pĂșblica do seu crate.
Testes de Documentação
Rust tem suporte embutido para testes de documentação:
#![allow(unused)] fn main() { /// Reduz uma string para o comprimento fornecido. /// /// ``` /// # use playground::shorten_string; /// assert_eq!(shorten_string("Hello World", 5), "Hello"); /// assert_eq!(shorten_string("Hello World", 20), "Hello World"); /// ``` pub fn shorten_string(s: &str, length: usize) -> &str { &s[..std::cmp::min(length, s.len())] } }
- Blocos de cĂłdigo em comentĂĄrios
///
sĂŁo vistos automaticamente como cĂłdigo Rust. - O cĂłdigo serĂĄ compilado e executado como parte do
cargo test
. - Adicionar
#
no código o ocultarå da documentação, mas ainda o compilarå/executarå. - Teste o código acima no Rust Playground.