django-packageutils este o colecție de utilitate Django pentru ambalaje app Django. & Nbsp; Următoarele funcții sunt disponibile.
1. utilitate Unittest pentru a rula cu setup.py
2. utilitate Unittest pentru adăugarea dinamic modelelor utilizate numai în test
3. crea automat utilizator în comandă syncdb
Cum se instalează
Folosiți comand PIP sau easy_install:
PIP instala django-packageutils
Copac director asumat
django-nume_pachet
& Nbsp; + - setup.py
& Nbsp; + - COMUNICAT DE-VERSION # folosi in git versiunilor
& Nbsp; + - nume_pachet # pachetul
& Nbsp; + - __init__.py
& Nbsp; + - models.py # sau orice
& nbsp; + - teste
& Nbsp; + - __init__.py
& Nbsp; + - test_models.py # sau orice
& Nbsp; + - testapp # App necesară numai în testele de acest pachet
& Nbsp; + - __init__.py
& Nbsp; + - models.py
& Nbsp; + - proiect încercare # Django pentru testare
& Nbsp; + - __init__.py
& Nbsp; + - settings.py
& Nbsp; + - manage.py
& Nbsp; + - urls.py
& Nbsp; + - runtests.py # pentru a rula testul cu setup.py
Unittest utilitate pentru rularea cu setup.py
Scrie runtests.py în directorul de pachet ca:
os de import
de la packageutils.test get_package_runner import
de la packageutils.test run_tests de import
runtests definiție (detaliere = 1, interactiv = True):
& Nbsp; package_dir = os.path.dirname (__ file__)
& Nbsp; test_runner = get_package_runner (package_dir, detaliere, interactiv)
& Nbsp; run_tests (test_runner, ['some_application_name'])
dacă __name__ == '__main__ ":
& nbsp; runtests ()
Adaugă suita de teste la setup.py dumneavoastră ca:
înființat (
& nbsp; # ... unele configurează
& nbsp; install_requires = [
& Nbsp; "distribui", # recomandat
& Nbsp; "setuptools-git", # recomandat
& Nbsp; "django-packageutils, # necesară
& Nbsp; # și alte câteva necesită
& Nbsp;],
& Nbsp; test_suite = 'tests.runtests.runtests ",
& Nbsp; test_require = [
& Nbsp; "Django",
& Nbsp;],
)
Apoi executați următoarea comandă:
încercare piton setup.py
Unittest utilitate pentru modelele adăugând dinamic folosite numai în încercarea
Cu implicit Django testcase, nu puteți adăuga modele necesare în încercare. Uneori ai nevoie de modele suplimentare pentru testarea pachetul django puteti folosi AppTestCase ca:
de la packageutils.testcase AppTestCase import
de la testapp.models import articolul
clasă TestAppTestCase (AppTestCase):
& Nbsp; # Apps necesară numai în acest test
& nbsp; installed_apps = [
& Nbsp; "packagename.tests.testapp",
& Nbsp;]
& Nbsp; # middleware necesară numai în acest test
& nbsp; middleware_classes = [
& Nbsp; "testapp.middleware.SomeMiddlewareRequired",
& Nbsp;]
& Nbsp; def test_creation (auto):
& Nbsp; articol = Article.objects.create (title = "foo ')
& Nbsp; afirma Article.objects.filter (title = "foo") există ().
crea automat utilizator în comandă syncdb
Adaugă packageutils.syncdb.autouser în INSTALLED_APPS atunci utilizator admin este creat automat în comanda syncdb (parolă va fi setat ca "admin")
Cerințe :
- Python
- Django
Comentariile nu a fost găsit