在Rust中,单元测试是内置的,并且可以通过使用cargo test
命令来运行。以下是在Ubuntu上进行Rust单元测试的基本步骤:
安装Rust:如果你还没有安装Rust,可以通过以下命令安装:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
安装完成后,你需要重新加载你的shell环境:
source $HOME/.cargo/env
创建一个新的Rust项目(如果你还没有一个):
cargo new my_project
cd my_project
编写测试:在Rust中,测试代码通常放在与被测试代码相同的文件中,但在#[cfg(test)]
模块下。例如,如果你有一个函数add
在lib.rs
中,你可以这样写测试:
// 在 lib.rs 中
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_add() {
assert_eq!(add(2, 2), 4);
}
}
运行测试:使用cargo test
命令来编译并运行你的测试:
cargo test
这将编译你的程序和测试,并运行所有标记为#[test]
的函数。测试结果将显示在终端中。
查看测试结果:cargo test
会显示每个测试的结果,包括通过的测试和失败的测试。如果测试失败,它会提供失败的原因和位置。
运行特定的测试:如果你只想运行一个特定的测试,可以使用-k
标志后跟测试名称:
cargo test test_add
禁用测试:如果你想要跳过某些测试,可以使用#[ignore]
属性:
#[test]
#[ignore]
fn test_something_expensive() {
// 这个测试将会被忽略
}
查看详细的测试输出:如果你想要看到更详细的测试输出,可以使用--nocapture
标志:
cargo test -- --nocapture
这就是在Ubuntu上进行Rust单元测试的基本流程。Rust的测试框架非常强大,支持参数化测试、子测试、集成测试等多种高级功能。