テスト時に使用できない別のモジュールに依存する、テスト中のモジュールがあります。これを回避するために、私は(本質的に)次のように書きました:
import mock
import sys
sys.modules['parent_module.unavailable_module'] = mock.MagicMock()
import module_under_test
module_under_test
これは、次のいずれかを実行しているimport parent_module
限り、正常に機能しますimport parent_module.unavailable_module
。ただし、次のコードはトレースバックを生成します。
>>> from parent_module import unavailable_module
ImportError: cannot import name unavailable_module
これはどうしたの?このエラーを回避するために、テストコードで(importステートメントを変更せずに)何ができますか?