1

以前は、Twisted で書かれた TCP サーバーをテストするために Trial を使用していました。試用版から UDP サーバーをテストするためのサポートはありますか?

ありがとう !

4

1 に答える 1

1

実際にはドキュメントはありませんが、サポートがあります。使用する

twisted.test.proto_helpers.FakeDatagramTransport

これは、UDPTutorialの Echo Server のテストです。

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)
于 2014-08-02T11:25:50.763 に答える