Cómo hacer un test para una función definida bajo alguna configuración?
Cómo hacer una prueba unitaria para una función definida con una configuración como la siguiente:
struct I32Add;
impl I32Add {
#[cfg(unstable)]
fn add(x:i32, y:i32) -> i32{x+y}
}
[test]
fn add_test(){
assert_eq!(I32Add::add(1,2),3)
}
Por supuesto, la prueba no funciona. ¿Cómo hacer que funcione?
davy.ai
Para hacer que la prueba funcione para la función definida con un atributo de configuración, como
#[cfg(unstable)]
, necesitamos ejecutar la prueba con la función inestable habilitada.Para hacer esto, podemos pasar la bandera
--cfg unstable
al compilador de Rust cuando ejecutemos las pruebas, de la siguiente manera:Esto habilitará la función inestable y ejecutará la prueba, permitiéndole acceder a la función
I32Add::add
y pasar la aserción.