Carregando
0xA0Lição 11 de 17

Módulos, Cargo e fluxo de testes

Organize código em módulos e valide comportamento com testes.

18 min Questionário com 5 perguntas 1 exercício de código
Ao final desta lição, você saberá
  • Separar lógica em funções reutilizáveis e executar testes unitários básicos.

Módulos (mod) organizam código e controlam visibilidade com pub. Cargo gerencia build e testes. Testes unitários ficam em módulos #[cfg(test)] e rodam com cargo test.

main.rs
1fn add(a: i32, b: i32) -> i32 {
2    a + b
3}
4
5#[cfg(test)]
6mod tests {
7    use super::add;
8
9    #[test]
10    fn adds_numbers() {
11        assert_eq!(add(2, 3), 5);
12    }
13}
14
15fn main() {
16    println!("{}", add(4, 1));
17}
Saída
5

Testar cedo faz parte dos fundamentos de Rust. O feedback rápido de cargo test mantém refactors seguros conforme os módulos crescem.

Experimente

Até 15 XP

Fluxo do cargo test

Siga o fluxo desde escrever um teste até ver o resultado de sucesso/falha.

Mensagem 1 de 4Previsões 0/0
Developer
cargo test
Compiled test binary

Principais conclusões

  • Módulos melhoram organização e manutenção.

  • Funções pequenas são mais fáceis de testar.

  • Testes automatizados reduzem regressões.

Quiz da aula

5 perguntas · aprovação com 4 acertos · até 50 XP

Ao passar, você conclui a aula e mantém sua sequência. As perguntas erradas voltarão em sessões de revisão.

Pratique: escreva código em Rust

Estes exercícios rodam de verdade. Escreva o programa, clique em “Executar testes” e leia o que o compilador informa: aprender a ler as mensagens do compilador é metade do aprendizado de Rust.

Exercício 1

Diferença absoluta reutilizável

+25 XP

Implemente abs_diff(a, b) e imprima a diferença absoluta.

  • Diferença positiva
  • Ordem invertida
main.rs
Carregando editor…

As aulas de Rust foram escritas para o Rust estável moderno; os exercícios rodam no Rust 1.82 pelo Wandbox, um serviço público gratuito. Seu código-fonte e a entrada de teste são enviados a esse serviço.

Dúvidas sobre esta lição

Travou em algum ponto? Pergunte. Descobriu algo? Compartilhe. Explicar também é uma ótima forma de aprender.

Carregando publicações…