Avatar ·

Comment créer des tests paramétrés en Rust pour vérifier plusieurs entrées ?

Bonjour, collègues ! J'ai récemment commencé à apprendre Rust et j'écris des tests pour mon projet. J'ai une fonction qui calcule la factorielle d'un nombre : ```rust fn factorial(n: u64) -> u64 { match n { 0 | 1 => 1, _ => n * factorial(n - 1), } } ``` Je dois vérifier son fonctionnement pour différentes valeurs d'entrée : 0, 1, 5, 10, etc. Actuellement, j'écris un test séparé pour chaque cas : ```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); } ``` C'est très peu pratique quand il faut vérifier des dizaines ou des centaines de variantes. Dans d'autres langages (par exemple, en Python avec `pytest.mark.parametrize`), j'ai l'habitude d'écrire un seul test paramétré qui prend une liste d'entrées et de résultats attendus. Dans la documentation de Rust, je n'ai trouvé que des exemples simples avec `#[test]`. Dites-moi, existe-t-il en Rust des outils intégrés pour les tests paramétrés ?