2016-04-28 23 views
1

Betrachten Sie die folgende (sehr einfach) Unit-Test-Datei:Python-Mock-on-Methode, die eher mock als return_value zurückgibt?

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 

Ich würde mock_buffer.frame_count() erwarten bis 42, zu bewerten, sondern es ist ein Mock-Objekt zurück. Was vermisse ich?

P.S .: Ich habe Python 2.7.11 mit dem Backport-Mock-2.0.0 ausgeführt.

Antwort

4

Sie können den Rückgabewert gesetzt, indem Sie:

mock_buffer.frame_count.return_value = 42 

statt.

mock_buffer.frame_count.return_value(42) 
+0

[facepalm] Doh [/ facepalm] Danke. –