如何仅运行标记turbo feature的Rust测试并忽略其余测试?
可行,两种方法实现仅运行turbo特性的test1
你遇到的问题是因为cargo test --features "turbo"只是启用了turbo特性,让test1被编译进测试套件,但cargo test默认会执行所有编译完成的测试用例(包括无特性限制的test2、test3)。要仅运行test1,有两种直接的方式:
指定测试名称+启用特性:执行以下命令,既启用turbo特性编译test1,又只运行这个指定的测试用例:
cargo test test1 --features "turbo"特性条件下的测试过滤(进阶):如果需要更灵活的过滤,也可以给test1加上特性相关的测试名标识,比如把test1改名为
test_turbo_something,然后用特性+名称过滤:cargo test turbo --features "turbo"这种方式会匹配所有名称包含"turbo"的测试用例,适合多个turbo特性测试的场景。
另外需要注意:如果不指定测试名称,只要test2、test3没有被cfg条件排除,启用turbo特性后它们依然会被编译并执行,这是cargo test的默认行为。
内容的提问来源于stack exchange,提问作者randomranger409
相关产品推荐
相关产品推荐

