我正在尝试用Python进行单元测试。我一直遇到使用mock的问题,应该重新移植到Python 2.7,但我无法让它工作。
在代码的顶部我有from mock import MagicMock, call
,但是当我运行单元测试时,我仍会出现错误,它会抱怨global name 'mock' is not defined
。
感到沮丧,我去看看它是否真的安装了(pip install mock和pip install unittest都已经运行了。)
仅存在于/usr/lib/python3.4/unittest/mock.py
中,这使我相信只有Debian Jessie上的Python3才真正支持模拟对象。
所以,这里有一个问题:如何在替代方案中获得2.7 或的实际反向端口,如何将Debian 8配置为默认使用Python3运行应用程序?
答案 0 :(得分:1)
解决了它。
对于未来的搜索者,答案有两个:
添加import mock
,但这会导致错误,因为Debian Jessie上的Python 2.7库在/usr/lib/python2.7/中没有mock.py,所以你通过以下方式解决了这个问题: / p>
下载latest backport,将其解压缩,然后将包含模拟软件包的模拟目录复制到/usr/lib/python2.7 /
出于某种原因,pip和easy_install只安装3.4库。