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