Comment #2 on issue 53 by
kunalpar...@gmail.com: Improve MockObject
Here's how I tested it -
import unittest
import mox
class Foo(object):
@classmethod
def cls_method(cls):
pass
def ins_method(self):
pass
class TestFoo(mox.MoxTestBase):
def setUp(self):
super(TestFoo, self).setUp()
self.mox.StubOutWithMock(Foo, 'cls_method')
self.foo = Foo()
self.mox.StubOutWithMock(self.foo, 'ins_method')
def test_cls_method_is_called(self):
Foo.cls_method()
self.mox.ReplayAll()
def test_ins_method_is_called(self):
self.foo.ins_method()
self.mox.ReplayAll()
if __name__ == '__main__':
unittest.main()
Output before -
python test.py
FF
======================================================================
FAIL: test_cls_method_is_called (__main__.TestFoo)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/kparmar/sources/pymox/mox.py", line 2123, in new_method
mox_obj.VerifyAll()
File "/Users/kparmar/sources/pymox/mox.py", line 318, in VerifyAll
mock_obj._Verify()
File "/Users/kparmar/sources/pymox/mox.py", line 559, in _Verify
raise ExpectedMethodCallsError(self._expected_calls_queue)
ExpectedMethodCallsError: Verify: Expected methods never called:
0. instancemethod.__call__() -> None
======================================================================
FAIL: test_ins_method_is_called (__main__.TestFoo)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/kparmar/sources/pymox/mox.py", line 2123, in new_method
mox_obj.VerifyAll()
File "/Users/kparmar/sources/pymox/mox.py", line 318, in VerifyAll
mock_obj._Verify()
File "/Users/kparmar/sources/pymox/mox.py", line 559, in _Verify
raise ExpectedMethodCallsError(self._expected_calls_queue)
ExpectedMethodCallsError: Verify: Expected methods never called:
0. instancemethod.__call__() -> None
Output after -
python test.py
FF
======================================================================
FAIL: test_cls_method_is_called (__main__.TestFoo)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/kparmar/sources/pymox/mox.py", line 2123, in new_method
mox_obj.VerifyAll()
File "/Users/kparmar/sources/pymox/mox.py", line 318, in VerifyAll
mock_obj._Verify()
File "/Users/kparmar/sources/pymox/mox.py", line 559, in _Verify
raise ExpectedMethodCallsError(self._expected_calls_queue)
ExpectedMethodCallsError: Verify: Expected methods never called:
0. Foo.cls_method.__call__() -> None
======================================================================
FAIL: test_ins_method_is_called (__main__.TestFoo)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/kparmar/sources/pymox/mox.py", line 2123, in new_method
mox_obj.VerifyAll()
File "/Users/kparmar/sources/pymox/mox.py", line 318, in VerifyAll
mock_obj._Verify()
File "/Users/kparmar/sources/pymox/mox.py", line 559, in _Verify
raise ExpectedMethodCallsError(self._expected_calls_queue)
ExpectedMethodCallsError: Verify: Expected methods never called:
0. Foo.ins_method.__call__() -> None
Attachments:
method_description.patch 712 bytes