فهرست منبع

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

Danilo Bargen 10 سال پیش
والد
کامیت
cdee865976
2فایلهای تغییر یافته به همراه25 افزوده شده و 0 حذف شده
  1. 6 0
      docs/howto/custom-management-commands.txt
  2. 19 0
      docs/topics/testing/tools.txt

+ 6 - 0
docs/howto/custom-management-commands.txt

@@ -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
docs/topics/testing/tools.txt

@@ -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