Módulos, Cargo e fluxo de testes
Organize código em módulos e valide comportamento com testes.
- 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.
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}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 XPFluxo do cargo test
Siga o fluxo desde escrever um teste até ver o resultado de sucesso/falha.
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.
Diferença absoluta reutilizável
Implemente abs_diff(a, b) e imprima a diferença absoluta.
- Diferença positiva
- Ordem invertida
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…