Vorrei testare la mia piccola applicazione, che tengo in un pacchetto separato. In questo momento ho creato una directory "test_project", ho creato un progetto di test e sto usando il manage.py del progetto per eseguire i test. Ma continuo a chiedermi: c'è un metodo migliore? È possibile avviare test di una singola app, magari con alcune configurazioni di default (come il database sqlite)?Come testare una singola applicazione (non un progetto) in Django?
risposta
È possibile eseguire test di una singola applicazione standalone, senza creare un progetto di test Django a tale scopo. Un modo per farlo è creare un runtests.py
nella directory principale della tua app che configura le impostazioni di Django ed esegue ./manage.py test your_app
in modo programmatico. Un esempio di runtests.py
è di proprietà di Django: runtests.py (documentation).
Django proprio runtests.py
è un buon riferimento ma lo trovo contorto per la maggior parte dei casi.Qui di seguito sono un paio di esempi alternativi:
Naturalmente si può di prova le parti Python con un autonomo unittest se non è necessario alcun dipendenze Django
ambiente Una Django richiede atleast un settings.py e manage.py file. Puoi configurare solo quelli essenziali e UnitTest la tua app con manage.py. Dovresti vedere un progetto come ambiente di runtime Django, non c'è Django senza di esso. Probabilmente puoi imitare le impostazioni ma tbh staresti creando più hack che semplicità.
Se si utilizza il naso è possibile eseguire i test di una singola app.
python manage.py test app.tests:TestClassHere
come per testare una singola applicazione. Ho appena seguito la convenzione che altri grandi progetti di Django fanno, ed è esattamente quello che stai facendo. Creare una directory test_project.
https://bitbucket.org/jespern/django-piston/src/7c90898072ce/tests/test_project
Immagino che se è abbastanza buono per alcuni dei più grandi Django applicazioni innesto è abbastanza buono per me.
Grazie, per un tempo molto lungo questa è stata la risposta accettata come è stato il migliore. Attualmente penso che questo di Dario sia migliore. Grazie per essere la risposta accettata per circa 5 anni o giù di lì. – dotz
Scrivendo questo giù perché io non lo vedo qui ancora
Se la struttura di Django simile a questa come dovrebbe:
Project dir/
/myapp
/myotherapp
/myproject
Django permette di eseguire prova da solo "myotherapp" eseguendo:
./manage.py test myotherapp/
Questo eseguirà tutti i test sotto "myotherapp", mentre
./manage.py test
verrà eseguito tutti i test nella directory progetti.
Questa dovrebbe essere la risposta selezionata –
- 1. come testare il progetto django
- 2. Compilare il progetto django come applicazione desktop
- 3. Nome progetto vs Nome applicazione in Django
- 4. Django: Migliore applicazione del distintivo per il progetto Django
- 5. Configurazione applicazione singola Nginx
- 6. Non esiste un file .xib quando creo una nuova "Applicazione vista singola" in XCode 5
- 7. Come testare un costruttore privato in applicazione Java?
- 8. Come testare un modello Django con pytest?
- 9. Come testare un progetto di libreria Android
- 10. Applicazione singola attività
- 11. Come testare (usando unittest) l'output HTML di una vista Django?
- 12. Come rinominare un progetto Django in PyCharm?
- 13. Come eliminare un progetto in django
- 14. Come configurare APScheduler in un progetto Django?
- 15. Come posso testare un queryset vuoto in Django?
- 16. applicazione singola pagina web riguarda
- 17. Come testare la mia applicazione dock
- 18. Testare un progetto Github biforcuto di Travis?
- 19. Come testare una copertura correttamente con Django + Nose
- 20. Come posso testare unitamente gli URL django?
- 21. AJAX: Struttura applicazione singola/sicurezza
- 22. ReactJS del server di rendering lato fo applicazione singola pagina
- 23. Come utilizzare Django 1.8.5 ORM senza creare un progetto django?
- 24. Django - come unità di testare una richiesta POST utilizzando request.FILES
- 25. Come eliminare un'app da un progetto django
- 26. Django - Ottieni oggetti chiave esterna in una singola query?
- 27. Django Rest Framework - Come testare ViewSet?
- 28. Prendendo uno screenshot di una pagina singola applicazione con JavaScript
- 29. Django ORM per applicazione desktop
- 30. Come posso testare le Query di Django?
Hai il mio upvote e l'ho contrassegnato come risposta accettata. Mi piacerebbe davvero che tu aggiungessi informazioni, dal momento che la versione di Django che la cosa '' runtests.py'' è supportata. È nuovo? – dotz
@dotz, questa è una domanda molto interessante, una non sapevo la risposta, ma non potevo resistere a cercarla. Per quanto posso vedere, 'runtests.py' di Django è stato creato nel 2005 ed è disponibile dalla v1.0. Ecco il commit originale: https://github.com/django/django/commit/daf8467b37f7aaae0b463b40a2c9d98f1f53c556#diff-bf0d7f89b37ba018fb5c5b2833b37dd3 –