1. 命令行运行特定单测
总有需要用命令行跑单测的场景,比如 vscode 上的 rust-analyzer 插件突然坏掉。。这个时候我们需要:
cargo test --package my_project --bin test -- api::handler::test --show-output
参数:
- package:这个是为了 workspace 模式而设计的。对于小型项目中常见的单 package workspace,就用 Cargo.toml 里定义的包名即可。
- bin:指定二进制对象名字。如果需要指定 src/bin 目录下的单测对象,则用这个。若无,则还是用和 Cargo.toml 同名的即可
最后指定测试对象,注意前面要有一个 --
。
假设我们在 src/api/handler.rs 中存在这样的单测结构:
#[cfg(test)]
mod tests {
#[test]
fn test_1() {
// ....
}
#[test]
fn test_2() {
//....
}
}
那么,可以用这样两种方式运行单测:
-- api::handler::tests
运行tests
module 中的所有单测-- api::handler::tests::test_2 --exact
指定运行 test_2 这个单测函数