Gestion des dépendances Cargo en Rust

RustRustBeginner
Pratiquer maintenant

This tutorial is from open-source community. Access the source code

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, le concept de dépendances de développement est expliqué. Les dépendances de développement sont ajoutées dans la section [dev-dependencies] du fichier Cargo.toml et sont utilisées pour les tests, les exemples ou les benchmarks. Un exemple de dépendance de développement est pretty_assertions, qui étend les macros standard telles que assert_eq! et assert_ne! pour fournir des différences colorées.

Note : Si le laboratoire ne spécifie pas de nom de fichier, vous pouvez utiliser n'importe quel nom de fichier que vous voulez. Par exemple, vous pouvez utiliser main.rs, le compiler et l'exécuter avec rustc main.rs &&./main.

Dépendances de développement

Parfois, il est nécessaire d'avoir des dépendances uniquement pour les tests (ou les exemples, ou les benchmarks). De telles dépendances sont ajoutées à Cargo.toml dans la section [dev-dependencies]. Ces dépendances ne sont pas propagées à d'autres packages qui dépendent de ce package.

Un tel exemple est pretty_assertions, qui étend les macros standard assert_eq! et assert_ne! pour fournir une différence colorée.
Fichier Cargo.toml :

## les données standard de la crate sont omises
[dev-dependencies]
pretty_assertions = "1"

Fichier src/lib.rs :

pub fn add(a: i32, b: i32) -> i32 {
    a + b
}

#[cfg(test)]
mod tests {
    use super::*;
    use pretty_assertions::assert_eq; // crate pour utilisation exclusivement dans les tests. Ne peut pas être utilisé dans le code non de test.

    #[test]
    fn test_add() {
        assert_eq!(add(2, 3), 5);
    }
}

Sommaire

Félicitations ! Vous avez terminé le laboratoire sur les Dépendances de développement. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.