商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > Rust在Ubuntu上如何进行单元测试

Rust在Ubuntu上如何进行单元测试

  发布于2026-07-31 阅读(0)

扫一扫,手机访问

在Rust的世界里,单元测试不是外挂插件,而是语言自带的硬核能力。你只需要敲下cargo test,就能让整个测试流程跑起来。下面,咱们就以Ubuntu环境为例,看看从头到尾怎么操作。

Rust在Ubuntu上如何进行单元测试

  1. 先把Rust装上。如果你还没装,跑这条命令就行:

    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

    装完之后记得刷新一下shell环境,让新安装的工具链生效:

    source $HOME/.cargo/env
  2. 创建一个新项目(要是你手头已经有项目,跳过这步):

    cargo new my_project
    cd my_project
  3. 写测试。Rust的惯例是把测试代码和被测试代码放在同一个文件里,但要用#[cfg(test)]模块包起来。比方说,你在lib.rs里定义了一个add函数,那测试可以写成这样:

    // 在 lib.rs 中
    #[cfg(test)]
    mod tests {
        use super::*;
    
        #[test]
        fn test_add() {
            assert_eq!(add(2, 2), 4);
        }
    }
  4. 跑测试只需要一条命令:

    cargo test

    它会自动编译你的代码和测试,然后执行所有标记了#[test]的函数。结果会直接打印在终端里,一目了然。

  5. 测试结果怎么看?cargo test会列出每个测试的通过或失败状态。如果某个测试挂了,它会告诉你失败的原因和具体位置,方便你快速定位问题。

  6. 有时候你只想跑一个特定的测试,比如只跑test_add,那就在命令后面加上测试名:

    cargo test test_add
  7. 如果某些测试暂时不想跑(比如特别耗时的测试),可以给它加上#[ignore]属性,它们就会被跳过:

    #[test]
    #[ignore]
    fn test_something_expensive() {
        // 这个测试将会被忽略
    }
  8. 想看到更详细的输出,比如测试过程中打印的日志?加上--nocapture标志就行了:

    cargo test -- --nocapture

以上就是Ubuntu上Rust单元测试的基本流程。别看步骤简单,Rust的测试框架其实很强大——参数化测试、子测试、集成测试,这些高级功能一个都不少。等你熟练了,自然会体会到它的威力。

本文转载于:https://www.yisu.com/ask/88194285.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注