Definición


Los test son funciones de Rust que verifican que el resto del código funciona de la manera esperada.

El cuerpo del test se hace:

  • Setup de los datos y estado necesarios para el test.
  • Ejecutar el código que se quiere testear.
  • Afirmar (assert) los resultados esperados

Se identifica a las funciones test con una anotación antes de la línea fn con #[test]. Para realizar las afirmaciones, se utilizan las macros de la familia assert por ejemplo

#[test]
fn prueba_suma() {
    let primero: i32 = 3;
    let segundo: i32 = 4;
    let resultado_esperado: i32 = 7;
  
    let resultado: i32 = sumar(&primero, &segundo);
  
    assert_eq!(resultado_esperado, resultado);
}

Los test se organizan en un módulo test

#[cfg(test)]
mod tests {
	// ...
}

Donde se coloca en el directorio test/, y en la compilación se compila como un Crate separado y debemos incluir como crate nuestro código.