面试题答案
一键面试在Rust单元测试中,可使用如下方式验证函数返回值:
fn add(a: i32, b: i32) -> i32 {
a + b
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_add() {
let result = add(2, 3);
assert_eq!(result, 5);
}
}
assert!
断言宏适用场景
assert!
宏用于验证一个布尔表达式是否为true
。当表达式为false
时,测试失败。常用于验证某个条件是否满足,例如:
#[test]
fn test_assert() {
let x = 10;
assert!(x > 5);
}
assert_eq!
断言宏适用场景
assert_eq!
宏用于验证两个值是否相等。它会对两个值进行比较,若不相等则测试失败。常用于验证函数的返回值是否与预期值一致,如上述add
函数测试中,验证add(2, 3)
的返回值是否等于5
。
assert_ne!
断言宏适用场景
assert_ne!
宏与assert_eq!
相反,用于验证两个值是否不相等。当两个值相等时,测试失败。例如:
#[test]
fn test_assert_ne() {
let a = 5;
let b = 10;
assert_ne!(a, b);
}