"... && отчет о покрытии" не работает после перехода на 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
...