diff --git a/.gitignore b/.gitignore index a043ea1..231ed27 100644 --- a/.gitignore +++ b/.gitignore @@ -66,6 +66,7 @@ src/frontend/tsclient # Test & lint .coverage +coverage.json .pylint.d .pytest_cache db.sqlite3 diff --git a/Makefile b/Makefile index 4f099bb..c3e3289 100644 --- a/Makefile +++ b/Makefile @@ -166,6 +166,10 @@ test-back-parallel: ## run all back-end tests in parallel bin/pytest -n auto $${args:-${1}} .PHONY: test-back-parallel +test-coverage: ## compute, display and save test coverage + bin/pytest --cov=. --cov-report json . +.PHONY: test-coverage + makemigrations: ## run django makemigrations for the people project. @echo "$(BOLD)Running makemigrations$(RESET)" @$(COMPOSE) up -d postgresql diff --git a/src/backend/pyproject.toml b/src/backend/pyproject.toml index 8d30b90..762f090 100644 --- a/src/backend/pyproject.toml +++ b/src/backend/pyproject.toml @@ -137,3 +137,22 @@ python_files = [ "test_*.py", "tests.py", ] + +[tool.coverage.run] +branch = true +omit = [ + "*/admin.py", + "*/migrations/*", + "*/tests/*", + "*/urls.py", + "manage.py", + "celery_app.py", + "wsgi.py", + ] + +[tool.coverage.report] +show_missing = true +skip_empty = true + +[tool.coverage.json] +pretty_print = true