[英]Unable to provide CLI arguments to `cargo test`
我曾经能够从命令行界面运行特定的命名测试,如下所示: cargo test <test_name>
。 但是现在这给了我错误
running 1 test
error: Found argument '<test_name>' which wasn't expected, or isn't valid in this context
cargo test
的其他论据也不起作用。
导致错误的行是测试设置中的这一行:
let cli_default_args = Arc::new(cli_args::Args::from_args());
其中cli_args::Args
结构是保存命令行参数值的结构,而from_args
函数来自StructOpt
包派生。 cli_args::Args
用#[derive(StructOpt)]
装饰。
问题是用于cargo test
的参数被解释为应用程序的参数。
在测试设置中替换有问题的行
let cli_default_args = Arc::new(cli_args::Args::from_args());
和
let cli_default_args = Arc::new(cli_args::Args::from_iter::<Vec<String>>(vec![]));
解决问题。 上面的代码意味着您的测试设置就像程序没有获得任何 CLI 参数一样运行,一切都以其默认值运行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.