Skip to content

Django test coverage #25664

@amweiss

Description

@amweiss

While unit tests for Django do run correctly now, coverage does not. python.testing.unittestArgs lets us configure the settings needed for unit tests to work, but with django to collect coverage, we need something akin to python.testing.unittestPath to allow for using the coverage command line to start the capture.

Currently, the test with coverage output looks like:

COVERAGE_ENABLED env var set, starting coverage. workspace_root used as parent dir: /home/adam/repos/sample
MANAGE_PY_PATH env var set, running Django test suite.
Test IDs:  ['apps.sample.tests.test1']
args:  ['--settings', 'sample.settings.test', '--parallel', '--keepdb']
Running Django run tests with command:  ['/home/adam/repos/sample/.venv/bin/python', './manage.py', 'test', '--testrunner=django_test_runner.CustomExecutionTestRunner', '--settings', 'sample.settings.test', '--parallel', '--keepdb', 'apps.sample.tests.test1']

But the command part needs to change from:
python ./manage ....
to:
coverage run ./manage ...

So, something that would allow that to be configured, or possibly just accounted for in a setting would be great.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions