如何在Rust工作区中忽略嵌套Git子树Crate的测试?
如何在Rust工作区执行
cargo test时忽略特定嵌套crate 有几种实用方法可以实现这个需求:
命令行直接排除:执行
cargo test时添加--exclude参数指定要忽略的crate名称即可。比如你的嵌套subtree crate名为nested-subtree-crate,运行以下命令:cargo test --exclude nested-subtree-crate这会运行工作区中除该指定crate外所有其他crate的测试。
配置Cargo别名简化操作:如果不想每次都手动输入排除参数,可以在工作区根目录的
Cargo.toml中添加自定义别名,以后用别名命令就能自动跳过目标crate的测试:[alias] test-workspace = "test --exclude nested-subtree-crate"之后只需运行
cargo test-workspace就能达到同样效果。调整工作区成员配置(按需使用):如果这个subtree crate不需要作为工作区的一部分参与构建(仅作为代码文件存在),可以修改工作区根目录的
Cargo.toml,将其从工作区成员中排除:[workspace] # 方法1:明确列出所有要包含的crate,不包含目标subtree crate members = ["crate-a", "crate-b", "your-other-crates"] # 方法2:用exclude字段排除目标目录 # members = ["*"] # exclude = ["path/to/your-subtree-crate"]注意:这种方法会让该crate完全脱离工作区,如果你其他crate需要依赖它,就不要用这种方式,优先选择前两种方案。
内容的提问来源于stack exchange,提问作者Chad
相关产品推荐
相关产品推荐

