[Twisted-Python] Stopping Reactor in UnitTest Callback
fabian.rothfuchs at googlemail.com
Sat Jan 12 09:00:17 EST 2013
I'm in the dilemma of using both - Django and Twisted.
My goal is to have Django initialising the test (python manage.py test
<appname>), instead of trial, as it will setup the whole test environment
(I.e. Creates a db copy, allows per-model testing, follows certain
As to that I'm trying to find a way how to start/stop the reactor from the
test, as trial is not executed.
Do you have an idea or an approach how this could be realised?
On 1/10/13 9:51 PM, "exarkun at twistedmatrix.com"
<exarkun at twistedmatrix.com> wrote:
>On 07:58 pm, fabian.rothfuchs at googlemail.com wrote:
>>I'm trying to start and stop a twisted server in a unittest:
>Why? This isn't the typical way to write unit tests for Twisted-based
>code. The reactor is started and stopped by trial as necessary. Your
>code should just expect that it is running and let trial stop it when it
>is time to stop.
>If you have asynchronous code to test, you return a Deferred from a test
>method and the test completes when the Deferred fires. Not when the
>Also, a lot of people have come to dislike this style of test, instead
>preferring to use test doubles that don't involve real I/O or time so
>that they can completely test the logic of their code deterministically
>- thus also without ever running a real reactor or needing to use the
>"return a Deferred from a test method" feature of trial.
>Twisted-Python mailing list
>Twisted-Python at twistedmatrix.com
More information about the Twisted-Python