rust - 如何在 Rust 的 clap 库中模拟用户输入?

标签 rust command-line-interface clap

我目前正在使用 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/

相关文章:

rust - 如何在 Rust 中存储不变类型变量

rust - 二元运算 `==` 不能应用于类型 X

java - 斐波那契使用递归从用户在 Java CLI 中给出的两个任意数开始

cordova - 无法在cordova项目中安装插件

java - 是否可以记忆起 Java 中的 println?

rust - 包含具有不同要求和冲突的参数的 Clap arg 组

rust - 如何用 `if` 重写将整数与值进行比较的 `match` 链?

enums - 如何在给定特征的枚举关联方法上匹配 Self

rust - 在 Clap 中使用一个参数的多个值

rust - 包含长选项,不包含帮助和版本的短选项