django-packageutils är en Django verktyg kollektion för förpackning Django app. & Nbsp; Följande funktioner är tillgängliga.
1. Unittest verktyg för att köra med setup.py
2. Unittest verktyg för att dynamiskt lägga modeller som används i testet
3. Skapa automatiskt användaren inom SyncDB kommandot
Hur man installerar
Använd PIP comand eller easy_install:
Pip installera django-packageutils
Katalogträd antas
django-paket
& Nbsp; + - setup.py
& Nbsp; + - RELEASE-VERSION # används för git versionshantering
& Nbsp; + - paket # ditt paket
& Nbsp; + - __init__.py
& Nbsp; + - models.py # eller vad
& nbsp; + - tester
& Nbsp; + - __init__.py
& Nbsp; + - test_models.py # eller vad
& Nbsp; + - TestApp # App endast krävs tester av detta paket
& Nbsp; + - __init__.py
& Nbsp; + - models.py
& Nbsp; + - test # django projekt för testning
& Nbsp; + - __init__.py
& Nbsp; + - settings.py
& Nbsp; + - manage.py
& Nbsp; + - urls.py
& Nbsp; + - runtests.py # för att köra test med setup.py
Unittest verktyg för att köra med setup.py
Skriv din runtests.py i ditt paket katalog som:
import os
från packageutils.test import get_package_runner
från packageutils.test import run_tests
def runtests (informationsnivån = 1, interaktiva = sant):
& Nbsp; package_dir = os.path.dirname (__ file__)
& Nbsp; test_runner = get_package_runner (package_dir, informationsnivån, interaktiva)
& Nbsp; run_tests (test_runner, ['some_application_name'])
om __name__ == '__main__':
& nbsp; runtests ()
Lägg testsvit till din setup.py som:
setup (
& nbsp; # ... vissa konfigurerar
& nbsp; install_requires = [
& Nbsp; "distribuera", # rekommenderas
& Nbsp; 'setuptools-git ", # rekommenderas
& Nbsp; "django-packageutils", # krävs
& Nbsp; # och vissa andra kräver
& Nbsp;],
& Nbsp; test_suite = 'tests.runtests.runtests ",
& Nbsp; test_require = [
& Nbsp; "django",
& Nbsp;],
)
Sedan kör du följande kommando:
Python setup.py testet
Unittest verktyg för att dynamiskt lägga modeller används endast i testet
Med Django standard testfall, kan du inte lägga nödvändiga modeller inom test. Någon gång du behöver extra modeller för att testa din django paketet kan du använda AppTestCase som:
från packageutils.testcase import AppTestCase
från testapp.models import Artikel
klass TestAppTestCase (AppTestCase):
& Nbsp; # Apps endast krävs i detta test
& nbsp; installed_apps = [
& Nbsp; 'packagename.tests.testapp ",
& Nbsp;]
& Nbsp; endast # middlewares krävs i detta test
& nbsp; middleware_classes = [
& Nbsp; 'testapp.middleware.SomeMiddlewareRequired ",
& Nbsp;]
& Nbsp; def test_creation (själv):
& Nbsp; artikeln = Article.objects.create (title = "foo")
& Nbsp; hävda Article.objects.filter (title = "foo") existerar ().
Automatiskt skapa användare inom SyncDB kommandot
Lägg packageutils.syncdb.autouser i INSTALLED_APPS sedan administratör skapas automatiskt inom SyncDB kommandot (lösenord kommer att ställas in som "admin")
Krav :
- Python
- Django
Kommentarer hittades inte