Rust assert_eq宏的用法和示例

在 Rust 中,assert_eq宏用于比较两个值,如果它们相等,则程序将继续执行;如果它们不相等,则会导致panic,并在控制台输出相关信息。

这个宏是基于 Rust 的PartialEq trait实现的。因此,被比较的类型必须实现PartialEq trait,以便确定它们是否相等。

通常,assert_eq!用于单元测试和集成测试中,以确保代码行为符合预期。例如:

fn add(a: i32, b: i32) -> i32 {
    a + b
}

#[cfg(test)]
mod tests {
    use super::*;
    
    #[test]
    fn test_add() {
        assert_eq!(add(1, 2), 3);
    }
}

assert_eq!也可以自定义panic消息:

    let a = 5;
    
    assert_eq!(a,10,"the result is not equal to 10");

运行效果

rust assert_eq!

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/rust-macros/assert-eq.html

分类: 计算机技术
推荐阅读:
SSH证书登录提示WARNING: UNPROTECTED PRIVATE KEY FILE解决方法 使用SSH登录服务器时,出现 WARNING: UNPROTECTED PRIVATE KEY FILE! 提示,其原因是密钥文件权限太开放,SSH要求密钥文件不能被其他用户房访问;
no new variables on left side of :=错误解决方法 Go语言中使用:=进行赋值导致no new variables on left side of :=错误,其原因是:=左侧没有新变量;
check_hostname requires server_hostname 错误解决方法 通常造成check_hostname requires server_hostname错误都与Python有关;本文将详细的描述造成这类错误的原因和多种解决方法;
Rust debug_assert_eq宏的用法和示例 在Rust语言中,debug_assert_eq宏专门用于进行调试时的值相等性检查。它类似于assert_eq宏,但有一个重要的区别:debug_assert_eq只能在Rust的debug模式下进行检查,这意味着在发布应用程序时,所有的debug_assert_eq检查都会被编译器完全移除,不会影响最终的执行代码。
Kali系统和虚拟机镜像的默认账号密码 通常,Kali的默认账号密码为 root/toor,但虚拟机镜像默认的账号密码却不一样,通常为 kali/kali;
MySQL ABS() 绝对值函数 ABS(x) 函数返回x的绝对值,如果x为NULL则返回NULL;