Rust 编程:从 echor 到 cat 克隆的测试与实现
1. echor 程序测试
1.1 基本测试
在编写 echor 程序时,我们需要进行一系列测试来确保其功能的正确性。首先,导入 predicates 包,然后编写测试来验证程序在不同情况下的行为。
当程序没有参数运行时,它应该失败并将使用说明打印到 STDERR。我们可以在测试名称中加入 “dies” 来明确表示程序在给定条件下预期会失败。例如:
#[test]
fn dies_no_args() {
let mut cmd = Command::cargo_bin("echor").unwrap();
cmd.assert()
.failure()
.stderr(predicate::str::contains("USAGE"));
}
同时,我们还需要添加一个测试来确保程序在提供参数时能成功退出:
#[test]
fn runs() {
let mut cmd = Command::cargo_bin("echor").unwrap();
cmd.arg("hello").assert().success();
}
1.2 创建测试输出文件
为了确保 echor 程序的输出与 echo 命令的输出相同,我们需要捕获 ech
超级会员免费看
订阅专栏 解锁全文
37

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



