cargo-watch:ファイル変更時に自動ビルド・テストを実行する方法

スポンサーリンク

cargo-watch:ファイル変更時に自動ビルド・テストを実行する方法

cargo-watch はファイルの変更を検知して、cargo buildcargo test などのコマンドを自動で再実行するツールです。コードを書き直すたびに手動でコマンドを実行する手間がなくなります。


インストール

cargo install cargo-watch

インストール後、cargo watch コマンドが使えるようになります。

cargo watch --version

基本の使い方

-x オプションで実行する cargo サブコマンドを指定します。

# ファイル変更時に cargo run を実行
cargo watch -x run

# ファイル変更時に cargo check を実行(型チェックのみ・高速)
cargo watch -x check

# ファイル変更時に cargo test を実行
cargo watch -x test

# ファイル変更時に cargo build を実行
cargo watch -x build

開発中は cargo watch -x check が最も手軽です。cargo run より高速で、型エラーや文法エラーをすぐに確認できます。


複数コマンドを連続実行する

-x を複数並べると、順番に実行されます。前のコマンドが失敗すると後続のコマンドは実行されません。

# check が通ったら test を実行
cargo watch -x check -x test

# check → test → run
cargo watch -x check -x test -x run

監視対象を絞る

デフォルトはプロジェクト全体を監視します。-w で対象ディレクトリを指定したり、-i で除外したりできます。

# src/ ディレクトリのみ監視
cargo watch -x check -w src/

# tests/ も含めて監視
cargo watch -x test -w src/ -w tests/

# target/ を除外(デフォルトで除外されているので通常不要)
cargo watch -x build -i target/

実行前にターミナルをクリアする

-c オプションをつけると、コマンドを実行するたびにターミナルをクリアします。出力が見やすくなります。

cargo watch -c -x check
cargo watch -c -x test

まとめ

コマンド 説明
cargo watch -x run ファイル変更時に自動で実行
cargo watch -x check 型チェックのみ・高速で確認
cargo watch -x test ファイル変更時に自動でテスト
cargo watch -x check -x test check が通ったら test を実行
cargo watch -w src/ 監視対象ディレクトリを指定
cargo watch -c -x check 実行前にターミナルをクリア

cargo-watch を使うことで、保存するたびにエラーをすぐ確認できる開発体験になります。クレートの追加方法については「cargo addでfeaturesを指定する方法:cargo-editなしで使える」も参照してください。