繁体   English   中英

python模拟方法返回模拟而不是return_value吗?

[英]python mock on method returning mock rather than return_value?

考虑以下(非常简单)的单元测试文件:

import unittest
from mock import Mock

class TestMuPE(unittest.TestCase):

  def test_01(self):
    mock_buffer = Mock()
    mock_buffer.frame_count.return_value(42)
    self.assertEquals(mock_buffer.frame_count(), 42)

    # => AssertionError: <Mock name='mock.frame_count()' id='4413645520'> != 42

我希望mock_buffer.frame_count()的计算结果为42,但是它返回的是模拟对象。 我想念什么?

PS:我运行的是python-2.0.0反向端口,并且运行的是Python 2.7.11。

您可以使用以下方法设置返回值:

mock_buffer.frame_count.return_value = 42

代替:

mock_buffer.frame_count.return_value(42)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM