Comment définir correctement les dépendances uniquement pour les tests en Rust/Cargo ?
Bonjour, collègues ! J'ai commencé à apprendre Rust et j'ai rencontré un problème lors de l'écriture de tests. J'ai besoin d'utiliser la crate `rand` pour générer des données aléatoires dans les tests, mais je ne veux pas qu'elle soit une dépendance dans la build finale.
J'ai ajouté `rand` dans la section `[dependencies]` du `Cargo.toml`, mais cela augmente la taille du binaire et le temps de compilation. Comment puis-je correctement isoler les dépendances uniquement pour les tests ?
J'ai essayé d'écrire ceci :
```toml
[dev-dependencies]
rand = "0.8"
```
Mais ensuite, dans les tests, je ne peux pas importer : `use rand::Rng;` — le compilateur se plaint que la crate n'est pas trouvée.
J'ai aussi essayé d'utiliser `#[cfg(test)]` pour la compilation conditionnelle, mais je ne comprends pas comment l'appliquer correctement aux dépendances.
Pouvez-vous me dire comment organiser les dépendances de test (test-only dependencies) en Rust/Cargo ? J'ai besoin que :
1. Les crates comme `rand`, `tempfile`, `mockall` ne soient incluses que lors de l'exécution de `cargo test`.
2. Dans la build de production, ces crates n'affectent ni la taille ni le temps de compilation.
3. Les tests