[Rust Unit testing] assert & assert_eq


pub fn is_even(num: i32) -> bool {
    num % 2 == 0
}

/*
This attribute indicates that the following module is a conditional compilation module that should only be compiled and run when tests are being executed. In other words, this code will not be included in the final build unless it's being compiled for testing.
*/
#[cfg(test)]
// Defines a test module named tests. Rust's testing framework recognizes this as a special module for holding tests.
mod tests { 
    // This line imports all items from the parent module into the scope of the test module. This is necessary because the tests module is technically a separate module, and it needs explicit access to the functions (like is_even) defined in the parent module that are being tested.
    use super::*;

    // This attribute marks a function as a test case. When you run cargo test, Rust's test runner will execute all functions annotated with #[test].
    #[test]
    fn is_true_when_even() {
        assert!(is_even(4));
    }

    #[test]
    fn is_false_when_odd() {
        assert!(!is_even(5));
    }
}

assert!(is_even(4)); uses the assert! macro to ensure that is_even(4) returns true. If is_even(4) returns false, the test will fail, indicating a problem with the is_even function's ability to correctly identify even numbers.

 

#[cfg(test)]
mod tests {
    #[test]
    fn you_can_assert_eq() {
        assert_eq!(5, 5);
    }
}

 

posted @   Zhentiw  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2023-02-23 [Typescript] NoInfer
2023-02-23 [Typescript] OVerride external library Types
2022-02-23 [Whole Web] SQL INJECTION
2022-02-23 [Whole Web] CROSS SITE SCRIPTING (XSS)
2019-02-23 [Functional Programming] Pointy Functor Factory
2019-02-23 [Functional Programming] Async IO Functor
2017-02-23 [HTML5] Focus management using CSS, HTML, and JavaScript
点击右上角即可分享
微信分享提示