web-dev-qa-db-ja.com

Rustで特定の単体テストを実行するにはどうすればよいですか?

school-infoという名前のパッケージに単体テストがあり、repeat_students_should_not_get_full_marksというテスト関数があります。

モジュール内のすべてのテストをcargo test --package school_infoで実行できます。

cargo test test-nametest_nameを含むテストに一致して実行しますが、これは役に立ちませんでした。

すべてのテストを実行せずに、テストrepeat_students_should_not_get_full_marksのみを実行するにはどうすればよいですか?ドキュメントにそれを実行するコマンドが見つかりませんでした。

8
co2f2e

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
7
Ömer Erden