假设我有这个对象,它是我系统的核心部分,它的大部分工作是与远程代理进行通信 - 发送任务并获得响应:
class AgentAPI:
... # Constructor etc.
def do_foo(self, args):
.... # Send data and wait for response
return result
def do_bar(self, args):
.... # Send data and wait for response
return result
我对单元测试这个对象的方法是使用模拟,对吧? 所以:
def test_agent_api_foo():
agent_api = AgentAPI(someargs)
agent_api.do_foo = Mock()
.... # test logic
这意味着方法并没有真正执行,当然......
那么如何在高度分布式系统上保持单元测试的可靠性呢?