Моя сборка может предусмотреть, что мое покрытие кода никогда не ухудшается?

Я думаю, что вы можете настроить ввод с помощью элемента железного ввода таким же образом, как ваша ссылка. Что-то вроде:

DEMO




  

6
задан Kurt W. Leucht 6 June 2009 в 01:49
поделиться

4 ответа

Да. Какой инструмент покрытия Вы используете?

Плагин Cobertura для Гудзона определенно поддерживает это. На экране конфигурации проекта можно указать пороги.

С другой стороны, можно заставить Муравья привести сборку к сбою (а не Гудзон), при помощи задачи cobertura-проверки.

Править: Я не уверен, что можно сделать точно, что Вы просите. Даже если Вы могли, это могло бы оказаться проблематичным. Например, предположите, что у Вас есть среднее покрытие 75%, но для одного класса у Вас есть покрытие 80%. При удалении того 80%-го класса и всех его тестов Вы уменьшаете полный процент покрытия даже при том, что ни один из другого кода не никто менее протестированный, чем ранее.

8
ответ дан 9 December 2019 в 22:41
поделиться

Другой подход должен был бы использовать плагин Гидролокатора для Гудзона, чтобы поддержать отклонение покрытия со временем и помочь ассимилировать и проанализировать результаты. Это также покажет покрытие в контексте других мер, таких как checkstyle и pmd

0
ответ дан 9 December 2019 в 22:41
поделиться

Это - своего рода взлом, но мы используем его по подобным причинам с Findbugs и Checkstyle. Можно настроить задачу Ant, чтобы сделать следующее (это может быть разделено в несколько задач, но я комбинирую их для краткости):

  1. Запустите тесты с покрытием
  2. Проанализируйте результаты покрытия и получите процент покрытия
  3. Прочитайте tmp/lastCoverage.txt из последней сборки (см. шаг # 5a),
  4. Сравните текущий процент покрытия с процентом, считанным из lastCoverage.txt
    1. Если процент не уменьшился, запишите новый процент по содержанию tmp/lastCoverage.txt
    2. Если процент уменьшение DID, сохраните исходный файл и эхо "ОТКАЗОМ ПОКРЫТИЯ" (с муравьем echo задача).

Обратите внимание, что шаги 2 - 5 должны не обязательно быть сделаны с собственными задачами Ant - Вы могли использовать что-то как Муравей javac задача запустить программу Java, чтобы сделать это для Вас.

Затем настройте Гудзон:

  • При "Управлении исходным кодом" удостоверьтесь, что "Обновление Использования" проверяется. Это позволит Вашему файлу lastCoverage.txt быть сохраненным между сборками. Обратите внимание, что это могло быть проблематично, если Вы действительно, действительно нуждайтесь в вещах, которые будут убраны между сборками.
  • Используйте Гудзонский текстовый плагин Средства поиска с регулярным выражением для поиска "ОТКАЗА ПОКРЫТИЯ" в выводе сборки (удостоверьтесь, что "Также ищут, консольный вывод" проверяется на плагин). Текстовый плагин средства поиска может отметить нестабильную сборку.

Можно, очевидно, заменить вещи как имя файла / путь и консольный вывод к любым соответствиям в контексте сборки.

Как я упомянул выше, это скорее hacky, но это - вероятно, один из некоторых (только?) способы заставить Гудзон сравнивать вещи в предыдущей сборке к текущей сборке.

3
ответ дан 9 December 2019 в 22:41
поделиться

Atlassian's Clover поддерживает то, что вы хотите. Обратите внимание на задачу Ant clover-check , в частности на атрибут historyDir.

0
ответ дан 9 December 2019 в 22:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: