获取在python中模拟的类的函数值

时间:2018-06-07 11:32:18

标签: python unit-testing mocking

我正在使用mock和patch编写一个python脚本unittest,我已经模拟了一个类。

class Class:
    def function():
        return 'something'

@patch('Class')
def test(MockClass):
    item = MockClass()
    self.assertEqual(item.function(), 'something)

调用item.function时,它返回一个对象。 如果我使用item.function.return_value调用它,则返回

任何想法如何获得item.function()应返回的实际值'某事'?

1 个答案:

答案 0 :(得分:0)

实际上它看起来几乎就像来自official docs

的示例
from unittest.mock import patch

class Class():
    def function(self):
        return 'something'

@patch('__main__.Class')
def test(MockClass):
    item = MockClass()
    item.function.return_value = 'something' 
    assert item.function() == 'something' 

test()