Должен ли cover.py представлять покрытие кода модульного теста? - PullRequest
0 голосов
/ 01 апреля 2020

У меня есть небольшой Python 3 проект, который я собираюсь сохранить в качестве библиотеки многократного использования. Давайте назовем это utils_common. Отчет о покрытии из cover.py включает некоторое покрытие для фактического кода модульных тестов вместе с «производственным» кодом, и я думаю, что я здесь что-то не так делаю.

Структура каталога:

utils_common_prj             (root project directory)
    utils_common             (directory, actual code package)
        __init__.py          (empty file)
        data_convert.py      (some module with a class with static methods)
        ...                  (other modules with code)
    tests                    (directory, test code package)
        __init__.py.         (empty file)
        test_data_convert.py (unit test class, testing class DataConvert)
        ...                  (other unit tests)
    setup.py                 (file, used to create the .tar.gz dist package)
    .pylintrc
    .gitignore

Поэтому я запускаю модульные тесты с покрытием кода, используя cover.py следующим образом: имея текущий каталог utils_common_prj, я запускаю:

coverage run --source=. --omit=setup.py -m unittest discover

Затем следует

coverage report

Что я получаю:

Name                                      Stmts   Miss  Cover
-------------------------------------------------------------
utils_common/__init__.py                      0      0   100%
utils_common/data_convert.py                 10      0   100%
...
tests/__init__.py                             0      0   100%
tests/test_data_convert.py                   39      0   100%
...
-------------------------------------------------------------
TOTAL                                       222      0   100%

Я получаю счет оператора и процент от тестового кода вместе с реальным кодом, и я не думаю, что это желательно.

Исходя из. NET и Java фона, это похоже на ошибку. Это ошибка? Если да, то как мне это исправить?

...