[英]Python class mock. How can I get mock-class method calls information
我有一个名为Client的类,通过其getResponse方法提供了一些服务。 此类由其他类别使用。 我对使用Client类的Driver类进行单元测试。 通过使用mock.patch,我用名为MockClient的模拟类替换Client类,该类具有返回某些预定义值的相同getResponse方法。 效果很好。 但是现在我想测试调用getRsponse方法的参数。 我想通过使用* assert_has_calls *方法来做到这一点。 没找到怎么做。 请指教。
被测课程:
# Driver and its Client
class Driver:
def __init__ (self):
self.client = Client()
def call(self, param):
return self.client.getResponse(param)
class Client:
def getResponse(self, param):
return 'original'
这是带有模拟类的Test类:
import unittest
import mock
import driver
from driver import Driver
from driver import Client
class MockClient:
def getResponse(self,param):
return 'mock class'
class TestIt(unittest.TestCase):
def setUp(self):
self.mock_client = mock.patch('driver.Client',create=True, new=MockClient)
self.mock_client.start()
def tearDown(self):
self.mock_client.stop()
def test_call(self):
driver = Driver()
result = driver.call('test')
self.assertEqual(result, 'mock class')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.