Rust 在 Linux 上的测试框架选择指南
一 核心框架与定位
二 场景化推荐组合
| 场景 | 推荐组合 | 关键依赖 | 说明 |
|---|---|---|---|
| 通用库/服务端 | 标准库测试 + proptest + mockall | proptest、mockall | 单元为主、覆盖不变量、可模拟依赖 |
| Web/API | 标准库测试 + wiremock/mockito + Criterion | wiremock/mockito、criterion | 接口契约与回归基准并重 |
| CLI/系统交互 | 标准库测试 + 临时目录/进程辅助 | tempfile、assert_cmd | 侧重命令执行与文件副作用 |
| 端到端/验收 | cucumber(Rust) | cucumber、tokio | 业务/产品可读的 Gherkin 场景 |
| 异步代码 | 标准库测试 + tokio::test | tokio | 利用运行时编写并发测试 |
| 内核/嵌入式/无标准库 | libtest-miri + 自定义 harness | libtest-miri | 检验未定义行为与内存模型假设 |
三 关键差异与注意事项
四 快速上手示例
五 CI 与 Linux 实践