庫補丁的方法,我知道如何修補我的方法:Python測試。從VENV
@patch('common.connections.upload_image')
def test_upload(self, mocked_upload_image):
mocked_upload_image.return_value = 'Mocked url'
這會修補我的方法upload_image
模塊connections
文件夾中common
(我使用Django,文件夾common
在於根)。
但我想從Django的REST框架,其位於venv.lib.python2.7.site-packages.rest_framework.serializers.BaseSerializer.is_valid
修補串行所以,我想:
@patch('venv.lib.python2.7.site-packages.rest_framework.serializers.BaseSerializer.is_valid')
def test_upload(self, mocked_is_valid):
mocked_is_valid.return_value = True # this doesn't work
但它不工作。說ImportError: No module named venv
。 我的venv
文件夾位於上述common
所在的同一個文件夾中。
那麼如何修補這個庫方法呢?
您可以從rest_framework.serializers.BaseSerializer.is_valid修補它,你可以留下您的virtualenv的路徑圖書館出來。 – Nrzonline