Django Academy · Lezione

Il test client e i fixture

Simulare richieste e inizializzare i dati di test

Lezione 4 di 413 passaggi

Il test client e i fixture è una lezione Django Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Django Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Django Academy include 4 lezioni in totale.

Testare le view complete

I test dei modelli sono utili, ma può voler testare anche pagine complete. Il test client Le consente di simulare una richiesta di un browser reale all'interno di un test. 🌐

Il client è pronto

Ogni TestCase Le fornisce gratuitamente un self.client. Non serve alcuna configurazione: è già predisposto e disponibile in ogni test.

Effettuare una richiesta GET

Chiami self.client.get con un URL per recuperare una pagina proprio come farebbe un browser, quindi analizzi la risposta ottenuta.

response = self.client.get('/articles/')

Controllare il codice di stato

La risposta contiene un status_code. Verifichi che sia uguale a 200 per confermare che la pagina è stata caricata correttamente.

self.assertEqual(response.status_code, 200)

Un controllo dello stato più semplice

Django offre una scorciatoia. Usi assertContains per verificare sia lo stato 200 sia la presenza nella pagina del testo previsto.

self.assertContains(response, 'Latest Articles')

Inviare dati di un modulo

Simuli l'invio di un modulo con self.client.post, passando un dizionario con i campi che compilerebbe un utente.

self.client.post('/add/', {'title': 'Hi'})

Testare per nome della route

Gli URL codificati direttamente si rompono facilmente. Usi reverse per ricavare l'URL dal nome della route.

url = reverse('article-list')
response = self.client.get(url)

Cosa sono i fixture?

Un fixture è un file contenente righe predefinite. Popola il database di test, così ogni test inizia con gli stessi dati noti.

Creare un file fixture

Esporti le righe esistenti con dumpdata. Django le scrive in formato JSON, che potrà riutilizzare in seguito come fixture.

python manage.py dumpdata blog > data.json

Caricare un fixture nei test

Indichi i file fixture nell'attributo fixtures e Django li caricherà automaticamente prima dell'esecuzione di ogni test.

class BlogTests(TestCase):
    fixtures = ['data.json']

Fixture e setUp a confronto

Scelga fixtures quando Le serve un insieme di dati fisso da caricare rapidamente, e setUp quando ogni test richiede oggetti piccoli e personalizzati.

Verifica rapida

Vuole confermare che una pagina sia stata caricata e mostri un'intestazione.

Riepilogo

Ha pilotato le view con il test client, verificato stato e contenuto, inviato dati di moduli e popolato i dati con fixture e dumpdata. 🎉

Gratis per iniziare

Impara Python con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
30
Lezioni
120

Domande Frequenti

La lezione «Il test client e i fixture» è gratuita?

Sì — il testo completo di «Il test client e i fixture» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Django Academy, passa a CoddyKit PRO. Il corso Django Academy include 4 lezioni in totale.

Cosa imparerò in «Il test client e i fixture»?

Simulare richieste e inizializzare i dati di test Eserciti Django Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Django Academy?

Non è richiesta alcuna esperienza precedente. Django Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Il test client e i fixture»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Django Academy?

Sì. Ogni lezione Django Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. La classe Paginator
  2. Controlli di pagina in ListView
  3. Scrivere TestCase e asserzioni
  4. Il test client e i fixture
← Torna a Django Academy