ライブラリを使用してWebサービスのAPIを処理するコードがいくつかあります。これは、ソケットを使用するhttplibを使用し、ソケットは顧客に次のスタックトレースを提供することがあります。
File "/opt/zenoss/lib/python2.7/httplib.py", line 1027, in getresponse
response.begin()
File "/opt/zenoss/lib/python2.7/httplib.py", line 407, in begin
version, status, reason = self._read_status()
File "/opt/zenoss/lib/python2.7/httplib.py", line 365, in _read_status
line = self.fp.readline()
File "/opt/zenoss/lib/python2.7/socket.py", line 430, in readline
data = recv(1)
error: [Errno 104] Connection reset by peer
それを処理するコードをテストできるように、意図的に再現するにはどうすればよいですか? ソケットライブラリのreadlineメソッドをモックするテストケースでユニットテストを考えていますが、そのモックされたメソッドからどの例外をスローする必要がありますか?
UPD:次のようになります:
raise socket.error(104, 'Connection reset by peer')
残った質問: 「ソケット ライブラリをどのようにモックすればよいでしょうか?」