Rust 实现类 ls 工具及测试挑战
1. 功能测试与代码编写
在编写代码时,我们首先要导入 format_mode 函数,并对其进行两次抽查测试。若这两次测试通过,我们可以推测该函数能正常工作。接下来,我们需要编写能通过 cargo test format_mode 的代码,并将 format_mode 的输出整合到 format_output 函数中。
测试 format_output 函数的输出并非易事,因为不同系统的输出会有所不同,例如用户名、组名和文件修改时间等。不过,我们可以确保权限(前提是运行了 set - test - perms.sh 脚本)、链接数、文件大小和路径是相同的。因此,测试主要检查这些列的值。
以下是一个辅助函数 long_match ,可添加到 src/lib.rs 的 tests 模块中,用于检查长格式输出中单个目录项:
fn long_match(
line: &str,
expected_name: &str,
expected_perms: &str,
expected_size: Option<&str>,
) {
let parts: Vec<_> = line.sp
超级会员免费看
订阅专栏 解锁全文
3173

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



