![](/img/trans.png)
[英]Getting relative order of different command line options using clap & structopt
[英]Is it possible to construct a StructOpt Args object without parsing command line params for testing?
我有一个 fn main 正在通过 StructOpt 解析 arguments .. Args::from_args。
有没有办法创建这个 Args object 而无需实际启动可执行文件进行测试? 我可以直接创建一个 Args object 吗?
例如,我可以这样做吗
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
和from_iter_safe
,它们可以满足您的期望:它们采用字符串的可迭代对象,并将它们解析为 CLI 参数。
他们都真正委派鼓掌,但语义上from_args
只是以args_os()
作为参数调用from_iter
。
from_iter_safe
可能是您想在测试中使用的那个:就像from_args
一样,如果发生解析/匹配错误, from_iter
将打印一条错误消息并立即退出。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.