Связь покрытия кода с контролем версий - PullRequest
8 голосов
/ 04 февраля 2011

Перед тем как внести изменения, я бы хотел убедиться, что все они были протестированы, либо автоматически, либо вручную с отчетом о покрытии кода, но есть много устаревшего кода, который не имеет автоматических тестов, и мои изменения не будут затронуты.

Существует ли инструмент, который может перекрестно ссылаться на разницу из инструмента контроля версий с отчетом о покрытии кода и убедиться, что все, что было изменено, было выполнено?

Я понимаю, что с покрытием кода это может дать ложное чувство безопасности, а с чем-то вроде этого, даже более того, но я думаю, что стоило бы попробовать. Я использую git и PHP - я использовал интерфейс кодировщика кода XCache для просмотра того, что я запустил, и это полезно, но было бы здорово, если бы что-то могло запускаться автоматически во время git commit или push.

Ответы [ 2 ]

3 голосов
/ 17 апреля 2015

Для git diff есть инструмент с именем diff-cover , который может проверять покрытие.Он берет отчеты о покрытии Cobertura XML и сравнивает с выводом git diff.Затем он сообщает информацию о покрытии для строк в diff.

При наличии надлежащего XML-файла покрытия вы можете использовать эту команду для проверки покрытия ваших изменений по сравнению с веткой master:

$ diff-cover coverage.xml

Также довольно просто интегрироваться с CI-сервером, если он может предоставить вам коммит, с которым вам нужно сравнить, как $GIT_PREVIOUS_COMMIT в Jenkins.

3 голосов
/ 05 февраля 2011

Вы можете настроить сервер непрерывной интеграции сервер сборки (существует множество отличных бесплатных серверов сборки ).Одним из шагов сборки будет запуск покрытия кода.Вы можете настроить его так, чтобы он игнорировал устаревший код и вычислял покрытие только для не устаревшего кода.Затем вы настраиваете его на сбой сборки, если охват

...