私は、大規模なコード ベースのリファクタリングを開始するプロジェクトに参加しています。すぐに発生した問題の 1 つは、各ファイルが他の多くのファイルをインポートすることです。単体テストの作成を開始できるように、実際のコードを変更することなく、単体テストでこれをエレガントな方法でモックするにはどうすればよいですか?
例として: テストしたい関数を含むファイルは、Python コア ライブラリではなく、ソフトウェアの一部である他の 10 個のファイルをインポートします。
単体テストをできるだけ個別に実行できるようにしたいので、今のところ、インポートされているファイルの内容に依存しない関数のみをテストします。
すべての答えをありがとう。
最初は自分が何をしたいのかよくわかっていなかったのですが、今ではわかっていると思います。
問題は、サードパーティの自動魔法のために、アプリケーション全体が実行されている場合にのみ一部のインポートが可能だったことです。そのため、これらのモジュールのスタブを、sys.path で指定したディレクトリに作成する必要がありました。
これで、テストを書きたい関数を含むファイルを単体テスト ファイルにインポートできるようになりました。モジュールが見つからないという不満はありません。