Mocker.replace issue
When run through unittest Mocker doesn't seem to be removing its replaced object.
Examples follow:
The expected behavior works in an interpreter, such as:
>>> from mocker import Mocker,KWARGS
>>> from datetime import datetime
>>> m = Mocker()
>>> m_dt = m.replace(datetime)
>>> m_dt.now(KWARGS)
<mocker.Mock object at 0xb7c1280c>
>>> m.result('Hi')
>>> m.count(0,None)
>>> m.replay()
>>> datetime.now()
'Hi'
>>> m.reset()
>>> datetime.now()
datetime.
But when run inside a setUp tearDown unittest framework the reset fails to reset the 'mocked' object back.
Example code:
from datetime import datetime
import unittest
from mocker import Mocker
class TestDateTime(
def setUp(self):
self.mocker = Mocker()
def tearDown(self):
def test_mock_
""" Testing the mock, which succeeds """
def test_real_
""" Testing the "un-mocking" of datetime,
which fails.
"""
if __name__ == '__main__':
unittest.main()
Running this produces the following output:
.F
=======
FAIL: test_real_DateTime (__main_
-------
Traceback (most recent call last):
File "mock_replace_
self.
AssertionError: 'Hi' == 'Hi'
-------
Ran 2 tests in 0.003s
FAILED (failures=1)
Any assistance would be appreciated.
Question information
- Language:
- English Edit question
- Status:
- Solved
- For:
- Mocker Edit question
- Assignee:
- No assignee Edit question
- Solved by:
- Nathen Hinson
- Solved:
- Last query:
- Last reply: