Gerenciamento de Dependências Cargo em Rust

Beginner

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

Introdução

Neste laboratório, o conceito de dependências de desenvolvimento é explicado. As dependências de desenvolvimento são adicionadas na seção [dev-dependencies] do arquivo Cargo.toml e são usadas para testes, exemplos ou benchmarks. Um exemplo de dependência de desenvolvimento é pretty_assertions, que estende macros padrão como assert_eq! e assert_ne! para fornecer diffs coloridos.

Nota: Se o laboratório não especificar um nome de arquivo, você pode usar qualquer nome de arquivo que desejar. Por exemplo, você pode usar main.rs, compilar e executar com rustc main.rs && ./main.

Dependências de Desenvolvimento

Às vezes, é necessário ter dependências apenas para testes (ou exemplos, ou benchmarks). Essas dependências são adicionadas ao Cargo.toml na seção [dev-dependencies]. Essas dependências não são propagadas para outros pacotes que dependem deste pacote.

Um exemplo é a biblioteca pretty_assertions, que estende as macros padrão assert_eq! e assert_ne! para fornecer um diff colorido.
Arquivo Cargo.toml:

## Os dados padrão do crate são omitidos
[dev-dependencies]
pretty_assertions = "1"

Arquivo src/lib.rs:

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

#[cfg(test)]
mod tests {
    use super::*;
    use pretty_assertions::assert_eq; // biblioteca para uso apenas em testes. Não pode ser usada em código que não seja de teste.

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

Resumo

Parabéns! Você concluiu o laboratório de Dependências de Desenvolvimento. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.