Como criar testes parametrizados em Rust para verificar múltiplos dados de entrada?
Olá, colegas! Recentemente comecei a estudar Rust e estou escrevendo testes para meu projeto. Tenho uma função que calcula o fatorial de um número:
```rust
fn factorial(n: u64) -> u64 {
match n {
0 | 1 => 1,
_ => n * factorial(n - 1),
}
}
```
Preciso verificar seu funcionamento para diferentes valores de entrada: 0, 1, 5, 10, etc. Atualmente, escrevo um teste separado para cada caso:
```rust
#[test]
fn test_factorial_0() {
assert_eq!(factorial(0), 1);
}
#[test]
fn test_factorial_1() {
assert_eq!(factorial(1), 1);
}
#[test]
fn test_factorial_5() {
assert_eq!(factorial(5), 120);
}
```
Isso é muito inconveniente quando preciso verificar dezenas ou centenas de variações. Em outras linguagens (por exemplo, em Python com `pytest.mark.parametrize`), estou acostumado a escrever um único teste parametrizado que aceita uma lista de dados de entrada e resultados esperados. Na documentação do Rust, encontrei apenas exemplos simples com `#[test]`.
Vocês poderiam me informar se existem ferramentas embutidas no Rust para par
No answers yet.
Faça login para deixar uma resposta
Blogs
Melhores IDEs e ferramentas para desenvolvimento Go: guia completo 2025
Trabalhando com o sistema de arquivos em Swift: guia completo
Cache em Rust: Redis, Memcached e soluções embutidas de A a Z
Open Source em Swift: como se tornar um contribuidor e impulsionar sua carreira