库补丁的方法,我知道如何修补我的方法: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