ImportError:没有名为mock的模块
所以我正在尝试使用unittest.mock来模拟我的unit testing中的一些方法。 我做:
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版之前,无论如何)。 在通过pip install
安装mock
之后,不要通过使用导入它
from unittest.mock import MagicMock
但
from mock import MagicMock
编辑:模块已经包含在unittest
模块(自Python3.3以来),并可以通过import unittest.mock
。
对于Python 2.7:
安装模拟:
pip install mock
然后在testing代码中,使用这个导入:
from mock import patch, MagicMock