单元测试 #

一、测试函数 #

rust
#[cfg(test)]
mod tests {
    use super::*;
    
    #[test]
    fn it_works() {
        assert_eq!(2 + 2, 4);
    }
    
    #[test]
    fn another_test() {
        assert!(true);
    }
}

二、断言宏 #

rust
#[test]
fn test_assertions() {
    // 相等断言
    assert_eq!(1 + 1, 2);
    assert_ne!(1 + 1, 3);
    
    // 布尔断言
    assert!(true);
    
    // 带消息断言
    assert_eq!(2 + 2, 4, "数学运算正确");
}

三、测试panic #

rust
#[test]
#[should_panic]
fn test_panic() {
    panic!("这个测试应该panic");
}

#[test]
#[should_panic(expected = "除零")]
fn test_divide_by_zero() {
    divide(1, 0);
}

fn divide(a: i32, b: i32) -> i32 {
    if b == 0 {
        panic!("除零错误");
    }
    a / b
}

四、Result 测试 #

rust
#[test]
fn test_result() -> Result<(), String> {
    if 2 + 2 == 4 {
        Ok(())
    } else {
        Err(String::from("计算错误"))
    }
}

五、总结 #

本章学习了:

  • 测试函数定义
  • 断言宏使用
  • panic 测试
  • Result 测试
最后更新:2026-03-27