2
最近我一直在使用一些套接字,并在使用套接字套接字编写一些单元测试用例时,我一再获得error: [Errno 98] Address already in use
。如何正确进行单元测试清理套接字
这是显示错误的一些示例代码。
import unittest
import socket
class TestUnit(unittest.TestCase):
def setUp(self):
self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.socket.bind((socket.gethostname(), 10000))
self.socket.listen(10)
self.addCleanup(self.clean)
def test_nothing(self):
self.assertEqual(False, False)
def test_something(self):
self.assertEqual(True, True)
def clean(self):
self.socket.close()
它似乎发生在其中一个测试引发异常时。没有例外,它按预期工作。但是这样会使测试无用,因为在引发异常之后的所有测试都会抛出异常。
谢谢,这确实为这个问题工作。 – Wessie