我目前正在使用 clap 构建 Rust CLI。有谁知道如何模拟/模仿用户输入以便我可以编写测试吗?
最佳答案
调用Parser::try_parse_from()
(或者,如果您没有使用derive(Parser)
,则 Command::try_get_matches_from()
)。这些函数接受字符串迭代器,而不是查询进程参数,因此您可以传入要测试的任何字符串。它返回一个 Result
,以便您可以编写成功和解析错误的测试。
(此答案适用于 clap
版本 4.0。旧版本的类型和函数名称明显不同,但仍然具有此功能。)
关于rust - 如何在 Rust 的 clap 库中模拟用户输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74971650/