import 時に実行されてしまうコードをmock化したい時は、単体試験ソースのclass定義の枠外に書く
モジュール全体をmock化する時
1 2 3 4 5 6 7 8 |
import sys from mock import Mock, MagicMock, patch, call, mock_open sys.modules['ctypes'] = Mock() class XxxxxTest(unittest.TestCase): ....... |
import されるモジュールに内部の処理だけmock化したいなら
1 2 3 4 5 6 7 8 |
from mock import Mock, MagicMock, patch, call, mock_open import ctypes ctypes.CDLL = Mock() class XxxxxTest(unittest.TestCase): ..... |