ImportError : mock이라는 모듈이 없습니다.
그래서 unittest.mock을 사용하여 단위 테스트에서 내 방법 중 일부를 모의하려고합니다. 나는한다:
from unittest.mock import MagicMock
f = open("data/static/mock_ffprobe_response")
subprocess.check_output = MagicMock(return_value=f.read())
f.close()
그러나 나는 얻는다 :
ImportError: No module named mock
나는 시도했다 :
pip install mock
여전히 작동하지 않습니다.
unittest
내장 모듈입니다. mock
외부 라이브러리입니다 (어쨌든 3.3 이전 베타). 를 mock
통해 설치 한 후 pip install
사용하지 않고 가져옵니다.
from unittest.mock import MagicMock
그러나
from mock import MagicMock
편집 : 모듈 mock
에 포함되었으며 unittest
(Python3.3 이후) import unittest.mock
.
Python 2.7의 경우 :
모의 설치 :
pip install mock
그런 다음 테스트 코드에서 다음 가져 오기를 사용합니다.
from mock import patch, MagicMock
Python 2와 Python 3을 모두 지원하려면 다음을 사용할 수도 있습니다.
import sys
if sys.version_info >= (3, 3):
from unittest.mock import MagicMock
else:
from mock import MagicMock
또는 가져 오지 않으려면 sys
try:
from unittest.mock import MagicMock
except ImportError:
from mock import MagicMock
귀하의 버전에 대해 http://hg.python.org/cpython/file/default/Lib/unittest/mock.py 로 이동 하여이 소스를 유리하게 사용하는 것이 좋습니다 .
왠지 import unittest.mock
저를 위해 일 하지 않았어요.
from unittest import mock
실행할 때 가져 오기에 문제가 발생했습니다 pytest
. 내 pytest
버전은 2.7 버전 python
이고 내 버전은 virtualenv
3.6 버전이었습니다 python
. pip install
내에서 a 를 수행 한 virtualenv
다음 pytest
from 을 사용하여 수정했습니다 env/bin/pytest
.
참고 URL : https://stackoverflow.com/questions/11501520/importerror-no-module-named-mock
'Development Tip' 카테고리의 다른 글
Django의 forms.Form과 forms.ModelForm (0) | 2020.11.01 |
---|---|
asp.net 경로에서 물결표 (~) 사용 (0) | 2020.11.01 |
HttpClient 요청에서 IOException 발생 (0) | 2020.11.01 |
각 Docker 이미지에 대한 레이어 및 레이어 크기 찾기 (0) | 2020.11.01 |
uWSGI의 요점은 무엇입니까? (0) | 2020.11.01 |