Rust 测试与最佳实践指南
一、模糊测试(Fuzzing Tests)
1.1 模糊测试简介
模糊测试是一种非常有用但未集成到 Rust 标准库中的测试类型。其主要目的是使用自动生成的输入来测试函数,试图使函数崩溃或表现异常。由于它能生成比手动编写多得多的输入,因此可以作为手动测试的补充。
1.2 使用 cargo-fuzz 进行测试
1.2.1 安装 cargo-fuzz
cargo install cargo-fuzz
1.2.2 创建新的模糊测试 crate
在 FTP 服务器 crate 中,使用以下命令创建新的模糊测试 crate:
cargo fuzz init
该命令会生成一些文件,其中最重要且需要修改的是 fuzz/fuzz_targets/fuzz_target_1.rs 。将其内容替换为:
#![no_main]
#[macro_use] extern crate libfuzzer_sys;
mod error {
include!("../../src/error.rs");
}
include!("../../src/cmd.rs");
fuzz_target!(|data: &[u8]| {
let _ = Command::new(da
超级会员免费看
订阅专栏 解锁全文
1046

被折叠的 条评论
为什么被折叠?



