Commit cdee8659 authored by Danilo Bargen's avatar Danilo Bargen Committed by Tim Graham
Browse files

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

parent 94e2d391
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -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
===============

+19 −0
Original line number Diff line number Diff line
@@ -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