Come testare i comandi personalizzati di django-admin




testing custom-action (3)

Dovresti rendere il tuo script di comando effettivo il minimo possibile, in modo che chiami semplicemente una funzione altrove. La funzione può quindi essere testata tramite unit test o doctest come di consueto.

Ho creato comandi personalizzati di django-admin

Ma, non so come testarlo nei test standard di Django


Se stai usando uno strumento di copertura, sarebbe opportuno chiamarlo dal codice con:

from django.core.management import call_command
from django.test import TestCase

class CommandsTestCase(TestCase):
    def test_mycommand(self):
        " Test my custom command."

        args = []
        opts = {}
        call_command('mycommand', *args, **opts)

        # Some Asserts.

puoi vedere in github.com esempio vedi qui

def test_command_style(self):
    out = StringIO()
    management.call_command('dance', style='Jive', stdout=out)
    self.assertEquals(out.getvalue(),
        "I don't feel like dancing Jive.")




custom-action