Rust 测试

Rust 单元测试

运行测试 rustc --test first_unit_test.rs

// first_unit_test.rs

#[test]
fn basic_test() {    
assert!(true);
}

隔离测试代码

// unit_test/src/lib.rs

//我们想要测试的函数
fn sum(a: i8, b: i8) -> i8 {   
 a + b
 }
#[cfg(test)]
mod tests {    
fn sum_inputs_outputs() -> Vec<((i8, i8), i8)> {       
 vec![((1, 1), 2), ((0, 0), 0), ((2, -2), 0)]   
  }    

#[test]    
fn test_sums() {        
for (input, output) in sum_inputs_outputs() {        
    assert_eq!(crate::sum(input.0, input.1), output);     
         }   
      }
  }

故障测试

// panic_test.rs

#[test]
#[should_panic]
fn this_panics() {    
assert_eq!(1, 2);
}

忽略测试

// silly_loop.rs

pub fn silly_loop() {  
  for _ in 1..1_000_000_000 {};
}

#[cfg(test)]
mod tests {    
#[test]    
#[ignore]    
pub fn test_silly_loop() {      
  ::silly_loop();  
    }
 }

你可能感兴趣的:(Rust,rust,单元测试)