Fixed #23543 -- Added docs on testing management command output.

This commit is contained in:
Danilo Bargen 2014-11-15 12:13:05 +01:00 committed by Tim Graham
parent 94e2d3913d
commit cdee865976
2 changed files with 25 additions and 0 deletions

View File

@ -193,6 +193,12 @@ non-uniform locales, so you might need to:
differences when locales are changed and evaluate its impact on
predictable behavior of your command.
Testing
=======
Information on how to test custom management commands can be found in the
:ref:`testing docs <topics-testing-management-commands>`.
Command objects
===============

View File

@ -1623,6 +1623,25 @@ manually, assign the empty list to ``mail.outbox``::
# Empty the test outbox
mail.outbox = []
.. _topics-testing-management-commands:
Management Commands
-------------------
Management commands can be tested with the
:func:`~django.core.management.call_command` function. The output can be
redirected into a ``StringIO`` instance::
from django.core.management import call_command
from django.test import TestCase
from django.utils.six import StringIO
class ClosepollTest(TestCase):
def test_command_output(self):
out = StringIO()
call_command('closepoll', stdout=out)
self.assertIn('Expected output', out.getvalue())
.. _skipping-tests:
Skipping tests