I am comfortable using dependancy injection with Java's Mockito library, but have little experience using Python3's unittest.mock module. I am trying to assert that the Request instance's prepare method gets called. However the test fails on the assertion self.assertTrue(mock_request.prepare.called). Can someone please advise me on how to get this test passing?
import requests import unittest from unittest import mock class Engine(object): def get(self, **kwargs): session = requests.Session() req = requests.Request('GET', 'http://www.google.com', params=kwargs).prepare() response = session.send(req, timeout=1) class TestEngine(unittest.TestCase): @mock.patch('requests.Session') @mock.patch('requests.Request') def test_get(self, mock_request, mock_session): e = Engine() e.get() self.assertTrue(mock_request.called) self.assertTrue(mock_request.prepare.called) if __name__ == '__main__': unittest.main()