# Testing (Rust) > Unit tests, integration tests, doc tests, assertions, should_panic, benchmarks, test organization - 18 questions d'entretien - Confirmé - [Questions d'entretien: Rust](https://sharpskill.dev/fr/technologies/rust/questions-entretien.md) ## 1. Quel attribut permet de marquer une fonction comme test unitaire en Rust ? **Réponse** L'attribut #[test] indique au compilateur Rust que la fonction annotée est un test unitaire. Lors de l'exécution de cargo test, toutes les fonctions marquées avec cet attribut sont automatiquement découvertes et exécutées. Les tests sont compilés uniquement avec le profil test et ne sont pas inclus dans le binaire de production. ## 2. Quelle commande Cargo permet d'exécuter tous les tests d'un projet Rust ? **Réponse** La commande cargo test compile le projet avec les tests activés et exécute tous les tests unitaires, d'intégration et de documentation. Elle découvre automatiquement les fonctions marquées #[test], les tests dans le répertoire tests/ et les exemples de code dans la documentation. Des options permettent de filtrer les tests par nom ou module. ## 3. Quelle macro utiliser pour vérifier que deux valeurs sont égales dans un test ? **Réponse** La macro assert_eq! compare deux valeurs et fait échouer le test si elles ne sont pas égales. Elle affiche automatiquement les valeurs comparées en cas d'échec grâce au trait Debug, ce qui facilite le débogage. Contrairement à assert!, elle fournit un message d'erreur plus informatif montrant la valeur attendue et la valeur obtenue. ## 15 questions supplémentaires disponibles - Où placer les tests d'intégration dans un projet Rust ? - Quel attribut utiliser pour tester qu'une fonction provoque un panic ? S'inscrire gratuitement: https://sharpskill.dev/fr/login ## Autres sujets d'entretien Rust - [Les bases de Rust](https://sharpskill.dev/fr/technologies/rust/questions-entretien/rust-basics.md): 25 questions, Junior - [Ownership & Borrowing](https://sharpskill.dev/fr/technologies/rust/questions-entretien/ownership-borrowing.md): 22 questions, Junior - [Structs & Enums](https://sharpskill.dev/fr/technologies/rust/questions-entretien/structs-enums.md): 20 questions, Junior - [Gestion des erreurs](https://sharpskill.dev/fr/technologies/rust/questions-entretien/error-handling.md): 18 questions, Junior - [Collections](https://sharpskill.dev/fr/technologies/rust/questions-entretien/collections.md): 20 questions, Junior - [Modules & Packages](https://sharpskill.dev/fr/technologies/rust/questions-entretien/modules-packages.md): 18 questions, Junior - [Traits](https://sharpskill.dev/fr/technologies/rust/questions-entretien/traits.md): 22 questions, Confirmé - [Generics](https://sharpskill.dev/fr/technologies/rust/questions-entretien/generics.md): 20 questions, Confirmé - [Lifetimes](https://sharpskill.dev/fr/technologies/rust/questions-entretien/lifetimes.md): 20 questions, Confirmé - [Iterators & Closures](https://sharpskill.dev/fr/technologies/rust/questions-entretien/iterators-closures.md): 22 questions, Confirmé - [Smart Pointers](https://sharpskill.dev/fr/technologies/rust/questions-entretien/smart-pointers.md): 22 questions, Confirmé - [Concurrency Basics](https://sharpskill.dev/fr/technologies/rust/questions-entretien/concurrency-basics.md): 20 questions, Confirmé - [async/await](https://sharpskill.dev/fr/technologies/rust/questions-entretien/async-await.md): 22 questions, Confirmé - [Cargo & Ecosystem](https://sharpskill.dev/fr/technologies/rust/questions-entretien/cargo-ecosystem.md): 18 questions, Confirmé - [Pattern Matching](https://sharpskill.dev/fr/technologies/rust/questions-entretien/pattern-matching.md): 18 questions, Confirmé - [Macros](https://sharpskill.dev/fr/technologies/rust/questions-entretien/macros.md): 20 questions, Confirmé - [Serde & Serialization](https://sharpskill.dev/fr/technologies/rust/questions-entretien/serde-serialization.md): 20 questions, Confirmé - [Unsafe Rust](https://sharpskill.dev/fr/technologies/rust/questions-entretien/unsafe-rust.md): 20 questions, Senior - [Traits Avancés](https://sharpskill.dev/fr/technologies/rust/questions-entretien/advanced-traits.md): 22 questions, Senior - [Lifetimes Avancés](https://sharpskill.dev/fr/technologies/rust/questions-entretien/advanced-lifetimes.md): 20 questions, Senior - [Type System](https://sharpskill.dev/fr/technologies/rust/questions-entretien/type-system.md): 20 questions, Senior - [Tokio & Async I/O](https://sharpskill.dev/fr/technologies/rust/questions-entretien/tokio-async.md): 22 questions, Senior - [Optimisation de Performance](https://sharpskill.dev/fr/technologies/rust/questions-entretien/performance-optimization.md): 20 questions, Senior - [Memory Management](https://sharpskill.dev/fr/technologies/rust/questions-entretien/memory-management.md): 20 questions, Senior - [Web Frameworks](https://sharpskill.dev/fr/technologies/rust/questions-entretien/web-frameworks.md): 22 questions, Senior - [Database Integration](https://sharpskill.dev/fr/technologies/rust/questions-entretien/database-integration.md): 20 questions, Senior - [Design Patterns Rust](https://sharpskill.dev/fr/technologies/rust/questions-entretien/design-patterns.md): 20 questions, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/fr/technologies/rust/questions-entretien/testing