Настройте pyproject.toml для модульного тестирования и покрытия.Python

Программы на Python
Anonymous
Настройте pyproject.toml для модульного тестирования и покрытия.

Сообщение Anonymous »

Я использовал при проходе pytest, но на этот раз вместо него хотел использовать unittest. Я использую интегрированную тестовую среду от vscode, и для тестирования она работает нормально. Дальше я хотел использовать покрытие. Моя структура как обычно:

Код: Выделить всё

┣ 📦mypackage
┃  ┣ 📦subpackage
┃  ┃  ┗ 📜mymodule.py
┃  ┣ 📜__init__.py
┃  ┗ 📜main.py
┣ 📦tests
┃  ┗ 📜test_mymodule.py
┗ 📜pyproject.toml

Я включил следующее в свой pyproject.toml:

Код: Выделить всё

[tool.coverage.report]
fail_under = 80

[tool.coverage.run]
branch = true
include = ["mypackage/*"]
command_line = "-m unittest discover -s tests/"
Если я сейчас запущу прогон покрытия, он выведет

Код: Выделить всё

...
----------------------------------------------------------------------
Ran 3 tests in 0.000s

OK
А если я запущу отчет о покрытии:

Код: Выделить всё

Name                               Stmts   Miss Branch BrPart  Cover
--------------------------------------------------------------------
mypackage/__init__.py                  9      0      2      0   100%
mypackage/subpackage/mymodule.py      15      2      2      0    88%
--------------------------------------------------------------------
TOTAL                                 24      2      4      0    93%
Но почему мой файл main.py не включен? Он также включает в себя код, который еще не протестирован, и ожидаемое покрытие для его реализации. Что я делаю не так?

Вернуться в «Python»