ファイルを保存時に自動でテストを実行する


テスト駆動開発において、「ファイルを更新」 -> 「コンソールでテストコマンドを実行」 というプロセスが面倒でした。
そこで、このプロセスを自動化する方法を記載します。

動作イメージ

環境

  • 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

参考