"... && отчет о покрытии" не работает после перехода на pytest-django
Я использовал unittest в Django для написания тестов и запускал тесты с помощью этой команды:
coverage run --omit='src/manage.py,src/config/*,*/.venv/*,*/*__init__.py,*/tests.py,*/admin.py' src/manage.py test src && coverage report
Он запустит тесты, а затем отобразит .coverage, сгенерированный coverage run ... после выполнения.
После установки pytest-django и настройки pytest.ini я обновил свою команду следующим образом:
coverage run --omit='src/manage.py,src/config/*,*/.venv/*,*/*__init__.py,*/tests.py,*/admin.py' -m pytest && coverage report
Заметьте, я пока не использую pytest-cov.
По какой-то причине, которую я не могу понять, coverage report не отображается после выполнения тестов.
Я могу выполнять каждую команду отдельно:
- Программа
coverage run ...запускает тесты и создает отчет. -
coverage reportотображает отчет.
Я просто не могу заставить отчет отображаться, делая ... && coverage report после переключения на pytest-django.
Есть причины для этого?
Версии:
coverage = "^6.2"
pytest-django = "^4.7.0"
В соответствии с комментариями, в итоге я просто сделал это двумя отдельными командами.
В моем Dockerfile:
...
RUN coverage run --omit='src/manage.py,src/config/*,*/.venv/*,*/*__init__.py,*/tests.py,*/admin.py,*/migrations/*,*/apps.py' -m pytest -m=ut
RUN coverage report -m
...
И запускается в контейнерах с devspace:
...
onUpload:
exec:
- command: |
coverage run --omit='src/manage.py,src/config/*,*/.venv/*,*/*__init__.py,*/tests.py,*/admin.py,*/migrations/*,*/apps.py' -m pytest -m=ut
coverage report -m
...