テスト駆動開発において、「ファイルを更新」 -> 「コンソールでテストコマンドを実行」 というプロセスが面倒でした。
そこで、このプロセスを自動化する方法を記載します。
動作イメージ
環境
- Ubuntu 18.04
準備
sudo apt install inotify-tools
コード
以下のスクリプトを作成し、プロジェクトのルートに配置します。
autorun.sh
#!/usr/bin/env bash
TEST_RUNNER="pytest -s tests" # 実行したいテストコマンドを指定
TARGETS="./src ./tests" # 監視したディレクトリを指定
while inotifywait -r -e modify -e create -e delete $TARGETS; do
$TEST_RUNNER
done
実行権限も付与。
chmod +x ./autorun.sh
実行
./autorun.sh