Ответ 1
Текущий ответ здесь состоит из двух частей:
- конфигурация pytest
- Конфигурация zone.py
Начните с конфигурации pytest. В настоящее время в вашем филиале coverage
есть файл .travis.yml
со следующей строкой: py.test --cov tests
, это говорит pytest-cov, чтобы показать вам покрытие для каталога tests
, которое вам не нужно. Вы можете запускать py.test tests --cov
или изменить свой setup.cfg
и вообще не проходить tests
.
Тогда у вас setup.cfg
файл setup.cfg
с:
[tool:pytest]
testpaths =
tests
В файле .coverage
вам необходимо:
[run]
plugins = Cython.Coverage
source = src/pyscipopt
omit =
tests
*__init__.py
Указание paths
отдельно устарело, и я удалил его. Таким образом, coverage.py
знает, что он должен только проверять покрытие для каталога src/pyscipopt
.
После этих изменений выход я получил:
---------- coverage: platform darwin, python 3.6.4-final-0 -----------
Name Stmts Miss Branch BrPart Cover
---------------------------------------------------------------
src/pyscipopt/Multidict.py 17 17 10 0 0%
src/pyscipopt/conshdlr.pxi 301 129 0 0 57%
src/pyscipopt/expr.pxi 168 57 0 0 66%
src/pyscipopt/heuristic.pxi 44 18 0 0 59%
src/pyscipopt/lp.pxi 235 177 0 0 25%
src/pyscipopt/pricer.pxi 52 24 0 0 54%
---------------------------------------------------------------
TOTAL 817 422 10 0 48%
Это похоже на правильный вывод, который вы хотите, но я вижу, что файл scip.pyx
отсутствует. Вы также можете посмотреть связанную с этим проблему на github. Я не расследую дальше, потому что он отвечает на ваш вопрос, и я думаю, что вы сможете идти отсюда с тем, что отсутствует.