Avatar ·

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