我正在迁移我的项目的python版本(2->3)。测试适用于python2,但抱怨适用于python3,错误如下
TypeError: '>' not supported between instances of 'MagicMock' and 'int'下面是一个最小的例子
# test_mock.py
try:
from mock import MagicMock
except:
from unittest.mock import MagicMock
def test_mock_func():
a = MagicMock()
b = a.value
if b > 100:
assert True
else:
assert True 只需运行py.test .
这些黑客技术不起作用
MagicMock.__le__ = some_le_method # just not working
MagicMock.__le__.__func__.__code = some_le_method.__func__.__code__ # wrapper_descriptor does not have attribute __func__发布于 2020-01-16 11:40:31
您应该在b或a.value内部分配__gt__
# self is MagicMock itself
b.__gt__ = lambda self, compare: True
# or
a.value.__gt__ = lambda self, compare: Truehttps://stackoverflow.com/questions/54301232
复制相似问题