Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Here is what we are currently using to test our cylcone handler like we did with tornado:</p> <pre><code>from twisted.trial.unittest import TestCase from twisted.internet import defer, reactor from cyclone import httpclient # copied from tornado _next_port = 10000 def get_unused_port(): """Returns a (hopefully) unused port number.""" global _next_port port = _next_port _next_port = _next_port + 1 return port class TxTestCase(TestCase): def get_http_port(self): """Returns the port used by the HTTPServer. A new port is chosen for each test. """ if self.__port is None: self.__port = get_unused_port() return self.__port def setUp(self, *args, **kwargs): self.__port = None self._app = self.get_app() self._listener = None if self._app: self._listener = reactor.listenTCP(self.get_http_port(), self._app) return TestCase.setUp(self, *args, **kwargs) def get_app(self): return None def tearDown(self): if self._listener: self._listener.stopListening() @defer.inlineCallbacks def fetch(self, url, *args, **kwargs): response = yield httpclient.fetch('http://localhost:%s%s'%(self.get_http_port(), url), *args, **kwargs) defer.returnValue(response) </code></pre> <p>This way, you get the <code>fetch</code> method back ;)</p> <p>And there are no more needs to use trial.</p> <p>Here is an usage example:</p> <pre><code>from twisted.internet import defer class Test(TxTestCase): def get_app(self): return MyApplication() @defer.inlineCallbacks def some_test_method(self): res = yield self.fetch('/path/to/resource') self.assertEquals(200, res.code) </code></pre> <p>Hope that will help you.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload