Skip to content

Commit

Permalink
Add an example to show simple mocking of datetime.datetime object.
Browse files Browse the repository at this point in the history
  • Loading branch information
berkerpeksag committed Dec 18, 2014
1 parent 69506ec commit 0488d40
Showing 1 changed file with 35 additions and 0 deletions.
35 changes: 35 additions & 0 deletions mocking_datetime.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
import datetime
import unittest
import unittest.mock as mock


class MockDatetimeTest(unittest.TestCase):

def setUp(self):
datetime_patcher = mock.patch.object(
datetime, 'datetime',
mock.Mock(wraps=datetime.datetime)
)
mocked_datetime = datetime_patcher.start()
mocked_datetime.today.return_value = datetime.datetime(2012, 6, 16)
self.addCleanup(datetime_patcher.stop)

def test_datetime(self):
self.assertEqual(
datetime.datetime.today(),
datetime.datetime(2012, 6, 16)
)


class MockDatetimeDecoratorTest(unittest.TestCase):

@mock.patch.object(datetime, 'datetime')
def test_datetime(self, mocked_datetime):
mocked_datetime.today.return_value = datetime.datetime(2012, 6, 16)
self.assertEqual(
datetime.datetime.today(),
datetime.datetime(2012, 6, 16)
)

if __name__ == '__main__':
unittest.main()

0 comments on commit 0488d40

Please sign in to comment.