|-- my_module
| |-- __init__.py
| |-- function.py
`-- test.py
:私のtest.pyで__init__.pyパッチ機能
from .function import function
で
import other_function
def function():
doStuff()
other_function()
return
from django.test import TestCase
from mock import patch
from my_module import function
class Test(TestCase):
@patch('my_module.function.other_function')
def function_test(self, mock_other_function):
function()
これを実行すると、私は Attri buteError:
<@task: my_module.function.function of project:0x7fed6b4fc198> does not have the attribute 'other_function'
これは、モジュール「function」ではなく関数「function」にパッチを適用しようとしていることを意味します。モジュールにパッチを当てたいということを理解させる方法を知らない。
モジュールや機能の名前を変更しないようにしたいと思います。
アイデア?
[編集] あなたは__init__.py
に別の名前でモジュールを利用できるようにすることができhttps://github.com/vthorey/example_mock 実行
python manage.py test
解決方法はありますか? –
@HaykDavtyan Nope。あなたは可視性を高めるために質問をupvoteすることができます;) –