Pour l'enregistrement.
J'ai créé mes propres commandes dans le répertoire des commandes et j'ai essayé de faire la même chose que les commandes suivantes à partir du test.
$ python manage.py create_initial_data
Je me demandais si j'exécuterais des commandes dans le shell lors de la configuration du test, mais Django était bien pris en charge ici
Incorporez la fonction call_command
dans le script cible.
from django.test import TestCase, Client
from django.core.management import call_command
class TestSendEmailView(TestCase):
def setUp(self):
self.client = Client()
call_command('create_initial_data') #ici
def test_success(self):
response = self.client.get('/emails/')
self.assertEqual(response.status_code, 200)
Cela fera la même chose que python manage.py create_initial_data
.