Ich versuche Einheitentests für eine Klasse in Python zu schreiben. Die Klasse öffnet einen TCP-Socket unter init. Ich versuche, dies zu verharmlosen, so dass ich behaupten kann, dass das Verbinden mit den richtigen Werten aufgerufen wird, aber offensichtlich nicht wirklich in Komponententests geschieht. Ich habe MagicMock, Patch, etc. müde aber ich habe keine Lösung gefunden.Mocking eine Socket-Verbindung in Python
Meine Klasse so weit wie dieses
import socket
class MyClass(object):
def __init__(self):
self.tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.tcp_socket.connect('0.0.0.0', '6767')
warum nicht ju st tatsächlich verbinden? –
@JoranBeasley, da dies zu einem Stillstand führen kann, wenn die Verbindung zu lange dauert. Das ist der Grund, warum wir Mocks brauchen. – markroxor