Módulos de Teste

Testes unitários geralmente são colocados em um módulo aninhado (execute testes no Playground):

fn auxiliar(a: &str, b: &str) -> String {
    format!("{a} {b}")
}

pub fn main() {
    println!("{}", auxiliar("Olá", "Mundo"));
}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn teste_auxiliar() {
        assert_eq!(auxiliar("foo", "bar"), "foo bar");
    }
}
  • Isso permite que você tenha testes unitários auxiliares privados.
  • O atributo #[cfg(test)] somente fica ativo quando você executa cargo test.