最近、業務でレガシーコード(要するにテストが一切ないコード1)の改善を担当する機会があった。だいたいのステップとして以下のような改善を行なった。 パッケージ管理として Poetry の導入 pytest によるテストの追加 CI によるテストの自動化 必要なコードの改修とリファクタリング 特に、2 のステップでは pytest のフィクスチャ機能が非常に便利で、ダミーデータの生成から外部リソースアクセスのモックまで幅広く利用させてもらった。たとえば、Web API アクセスのモックには requests-mock を利用したのだが、 import pytest import requests_mock as requests_mock_module @pytest.fixture def requests_mock(): with requests_mock_module.Mocker()