誰かのための備忘録です。
Pythonでテストを書くときに、pytestを使うことはよくあります。
で、ファイルを更新した後にpytestでテストを実行したいこともよくあると思います。
そういうとき、ファイル更新を検知して、自動でpytestを実行してくれるツールがあります。
使い方は簡単です。
pytestを実行している開発環境で、pip install してptwというコマンドを実行するだけです。
$ pip install pytest-watch $ ptw
ptwを実行するとファイルの監視が始まります。
僕は、コードを書く際、技術的な課題が概ね解決できそうなイメージができたら「とりあえず、一気通貫の入出力だけ確認するユニットテストを書く。その後は、pytestを自動実行しながら良い感じにリファクタリングしつつ、細部のテストを追加していく」という進め方をすることがあります。
そういうとき、pytest-watchを起動しておくと、便利です。「さっきまで動いていたけど、いつの間にか動かなくなった」という問題を避けやすくなります。
dockerで開発している人は、以下の話が参考になるかもです。
https://github.com/joeyespo/pytest-watch/issues/91
と言いつつ、僕は、以下のページで紹介されているwatchdogを使いつつ、自分でdockerのテストコマンドを実行してたりします。