如何在Rust中运行特定的单元测试?

zkure5ic  于 2023-10-20  发布在  其他
关注(0)|答案(1)|浏览(171)

我在一个名为school-info的包中有单元测试,还有一个名为repeat_students_should_not_get_full_marks的测试函数。
我可以通过cargo test --package school_info运行模块中的所有测试。
cargo test test-name将匹配并运行包含test_name的测试,尽管这没有帮助。
如何在不运行所有测试的情况下仅运行repeat_students_should_not_get_full_marks测试?我在文档中找不到这样做的命令。

bxgwgixi

bxgwgixi1#

使用cargo test test-name过滤包含test-name的测试。它可以运行多个测试。不管测试函数是否在某个mod中,它仍然可以执行多个测试。
您可以通过添加-- --exact作为参数来避免此问题。
如果你的测试没有任何mod,你可以简单地像这样执行:

cargo test test_fn_name -- --exact

否则,您需要提供完整命名空间的测试:

cargo test test_mod_name::test_fn_name -- --exact

对于您的情况,解决方案将是:

cargo test --package school_info repeat_students_should_not_get_full_marks -- --exact

参见:

相关问题