擅长:python、mysql、java
<p>我认为问题在于你试图模仿你想要测试的实际代码。而不是被代码调用的对象。如果您想知道handle方法是否调用self.request上的recv方法,那么就模拟一下recv方法。</p>
<pre><code>def test_tcp_handler_method(self):
handler = TCPHandler()
handler.request = Mock()
handler.handle()
self.assertTrue(handler.request.recv.called)
self.assertEqual(handler.request.recv.call_args[0], 1024)
</code></pre>
<p>为了让handler实例化,您可能需要做一些额外的设置,但是基本的思想应该是清楚的。</p>