Testing¶
See: https://realpython.com/blog/python/testing-in-django-part-1-best-practices-and-examples/
Fixtures¶
- Django fixtures
- https://docs.djangoproject.com/en/dev/topics/testing/tools/#topics-testing-fixtures
- https://docs.djangoproject.com/en/dev/howto/initial-data/
# Dump fixtures
./manage.py dumpdata --pks 1,2,3
./manage.py dumpdata courts --indent 4 --output oldp/apps/courts/fixtures/courts.json
./manage.py dumpdata laws --indent 4 --output oldp/apps/laws/fixtures/laws.json
./manage.py dumpdata cases --indent 4 --output oldp/apps/cases/fixtures/cases.json
# Load fixtures
./manage.py loaddata oldp/apps/laws/fixtures/laws/laws.json
./manage.py loaddata oldp/apps/courts/fixtures/locations/countries.json
./manage.py loaddata oldp/apps/courts/fixtures/locations/states.json
./manage.py loaddata oldp/apps/courts/fixtures/locations/cities.json
./manage.py loaddata oldp/apps/courts/fixtures/courts/courts.json
./manage.py loaddata oldp/apps/cases/fixtures/cases/cases.json
OLDP¶
- Courts: BGH+EUGH+AG…
- Laws: GG, BGB, with table…
- Cases:
- bgh,
App tests¶
- db queries (get + update + create)
- processing tests
Browser Tests¶
- WebDriver / Selenium (firefox driver)
- test with local db + production db (ssh tunnel to production server)
Coverage Integration¶
export DJANGO_CONFIGURATION=Test
coverage run --source='.' manage.py test
# stdout report
coverage report --omit="env/*"
# html report
coverage html --omit="env/*"