繁体   English   中英

无法为“货物测试”提供 CLI 参数

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM