我曾经使用Trial来测试用Twisted编写的TCP服务器。 是否有试验支持UDP服务器的支持?
谢谢!
答案 0 :(得分:1)
实际上没有文档,但支持。使用
twisted.test.proto_helpers.FakeDatagramTransport
这是对来自UDPTutorial的回声服务器的测试。
from twisted.trial import unittest
from twisted.test import proto_helpers
import echo
class EchoTest(unittest.TestCase):
def setUp(self):
self.protocol = echo.Echo()
self.transport = proto_helpers.FakeDatagramTransport()
self.protocol.transport = self.transport
def test_echo(self):
self.protocol.startProtocol()
self.assertTrue(len(self.transport.written) == 0)
# simulate incoming package
self.protocol.datagramReceived("test", ("127.0.0.1", 55555))
# check echo has been written as answer on the transport
msg, addr = self.transport.written[0]
self.assertEqual(msg, "test")
self.assertEqual(addr[1], 55555)