我最近一直在使用一些套接字,在编写一些带有监听套接字的单元测试用例时,我反复得到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()
当其中一项测试引发异常时,似乎会发生这种情况。无一例外,它按预期工作。但这有点使测试无用,因为在第一个引发异常的测试之后的所有测试也会引发异常。