やりたいこと
source2.py を test_source2.py でテストを行います。
その際に、 source2.py では source1 をインポートしていますが、
source1.py の hoge を source ディレクトリ下を改変しないまま無効化したいです。
できれば、test_source2.py から mock などで指定して無効化できると有り難いです。
hoge が存在していないモジュールです。
詳しい方、教えてください。
ディレクトリ構成
text
1tree 2│ __init__.py 3│ 4├─source 5│ source1.py 6│ source2.py 7│ __init__.py 8│ 9└─test 10 test_source2.py 11 __init__.py
コード
python
1# source1.py 2from hoge import * # 対象 3 4def func1(): 5 pass
python
1# source2.py 2from .source1 import * 3 4def func2(): 5 func1()
python
1# test_source2.py 2from unittest import TestCase 3from unittest.mock import patch 4from ..source import source2 5 6class TestSource1(TestCase): 7 8 @patch(...) # ここ 9 def test_func2(self): 10 source2.func2()
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/25 01:49