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