我写了一个小的服务器聊天,做非常基本的事情,我想围绕它写测试。不幸的是,我很迷茫。我需要一些帮助才能走上正轨。在
我有一个名为Server()的类,它包含一个名为bind_socket()的方法。我想编写单元测试(最好使用pytest)来测试以下方法:class Server(Threading.Thread):
""" Server side class
Instanciate a server in a thread.
"""
MAX_WAITING_CONNECTIONS = 10
def __init__(self, host='localhost', port=10000):
""" Constructor of the Server class.
Initialize the instance in a thread.
Args:
host (str): Host to which to connect (default=localhost)
port (int): Port on which to connect (default=10000)
"""
threading.Thread.__init__(self)
self.host = host
self.port = port
self.connections = []
self.running = True
def bind_socket(self, ip=socket.AF_INET, protocol=socket.SOCK_STREAM):
self.server_socket = socket.socket(ip, protocol)
self.server_socket.bind((self.host, self.port))
self.server_socket.listen(self.MAX_WAITING_CONNECTIONS)
self.connections.append(self.server_socket)
我想知道为这个方法编写测试的最佳方法是什么,因为它不返回任何内容。我应该模拟它并尝试返回socket()、bind()、listen()和append()的调用次数,还是继续的方法不对?我对此很迷茫,我用pytest和unittest做了很多测试,看会议和阅读文章,但我仍然没有任何工作。
如能提供一些解释和/或示例,将不胜感激。在
非常感谢