[1.7.x] Fixed #23543 -- Added docs on testing management command output.
Backport of cdee865976
from master
This commit is contained in:
parent
e10c5a8fdd
commit
60cf46fdf5
|
@ -178,6 +178,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
|
||||
===============
|
||||
|
||||
|
|
|
@ -1568,6 +1568,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
|
||||
|
|
Loading…
Reference in New Issue