gpt4 book ai didi

rust - 是否可以在不解析命令行参数的情况下构造一个 StructOpt Args 对象进行测试?

转载 作者:行者123 更新时间:2023-12-03 11:45:11 26 4
gpt4 key购买 nike

我有一个 fn main,它通过 StructOpt .. Args::from_args 解析参数。
有没有办法创建这个 Args 对象而不实际启动可执行文件进行测试?我可以直接创建一个 Args 对象吗?
例如,我可以这样做吗

fn test_function() {
let args = Args::default();
args.param1 = "value1";
args.param2 = "value2";

core_function(args);
}

fn main() {
let args = Args::from_args();
core_function(args);
}

最佳答案

是的,structopt 还提供 from_iter and from_iter_safe 它可以满足您的期望:它们采用可迭代的字符串,并像解析 CLI args 一样解析它们。
他们所有人都真正委派鼓掌,但在语义上from_args只需调用from_iterargs_os()作为参数。from_iter_safe可能是你想在测试中使用的那个:很像 from_args , from_iter如果发生解析/匹配错误,将打印一条错误消息并立即退出。

关于rust - 是否可以在不解析命令行参数的情况下构造一个 StructOpt Args 对象进行测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62768373/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com