单元测试 #
一、测试函数 #
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