我正在RpcClient
为所有这样的单元测试嘲笑我的班级:
import unittest2
from mock import patch
@patch('listeners.RpcClient')
class SomeTestCase(unittest2.TestCase):
test_something(self, mock_api):
...
test_something_else(self, mock_api):
...
对于我的大多数测试,我都不想使用模拟对象做任何断言,我要做的只是修补类,这样RpcClient
就不会尝试连接并激发我的每个测试的请求(我已经将其连接了)到我的其中一个模型上的发布保存事件)。
我是否可以避免mock_api
参加每个测试?
我最终setUp
使用进行了模拟patcher.start()
:
def setUp(self):
self.rpc_patcher = patch('listeners.RpcClient')
self.MockClass = rpc_patcher.start()
def tearDown(self):
self.rpc_patcher.stop()
因此,我不必修饰任何测试用例,也不必在测试中添加任何其他参数。
更多信息:
http://docs.python.org/dev/library/unittest.mock#patch-methods-start-and-stop
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句