我有客户端和服务器脚本来提供/读取一些数据。
当我尝试使用PyUnit编写单元测试时,出现了一个我无法解释的错误
以下是相关的代码片段:
class TestSequenceFunctions(unittest.TestCase):
def setUp(self):
#some set up operations
def testRecieve(self):
s = socket.socket()
s.connect((FEED_SERVER_HOST, FEED_SERVER_PORT))
sock = socket.socket()
#some recieve operations
s.close()
# When i write this code snippet below, i get error: [Errno 98] Address already in use
error. I tried closing 's' socket in tearDown function but still same error raising.
def testAnotherRecieve(self):
sock = socket.socket() # Results ERRNO 98.
总之,我不能在unittest类中创建第二个套接字。导致此错误的原因是什么?
查看close()的套接字文档,到第二次测试启动时,套接字可能还没有关闭:
close()释放与连接关联的资源,但不会必须立即关闭连接。如果要关闭连接时,请在关闭()之前调用shutdown()。