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 comrustc 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.