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