IntelliJ показывает измененные строки, не охваченные юнит-тестами - PullRequest
8 голосов
/ 05 сентября 2011

В своей повседневной работе я намереваюсь написать тесты для кода, который я изменяю.

Мой рабочий процесс обычно такой:

  • Поиск кода для изменения
  • Пишет неудачный тест
  • Изменить код
  • Наблюдать за прохождением теста

И перед фиксацией я запускаю все тесты.

Но на самом деле,Я мог бы неосознанно изменить любые строки о нашем тестовом покрытии.

Теперь я обычно проверяю, будет ли сервер CI показывать увеличивающееся тестовое покрытие.Но это ручная задача, которую я должен выполнить после своего коммита, и он также может быть загроможден другими коммитами кода.

Как IntelliJ может мне помочь?Я не могу напрямую найти способ сравнить тестовое покрытие.Как я могу гарантировать, что мои изменения охватывают тест-драйв?

Как вы в настоящее время справляетесь с этим аспектом покрытия кода?

1 Ответ

13 голосов
/ 19 января 2012

IntelliJ IDEA включает поддержку кода начиная с версии 6.0 (Ultimate edition).

Через Выполнить -> Редактировать конфигурации -> Покрытие кода вы можете настроить желаемое покрытие кода,затем вы можете выполнить команду «Выполнить тесты с покрытием».В результате вы получите некоторые данные о покрытии кода в представлении проекта.Когда вы открываете исходный файл, вы также можете увидеть, какие строки полностью покрыты, частично покрыты или вообще не покрыты.

Возможно, вы захотите настроить цвета и шрифты через Файл -> Настройки -> Редактор ->Цвета и шрифты -> Общие, изменяющие следующие записи:

  • Полное покрытие линии
  • Частичное покрытие строки
  • Непокрытая строка

ДляНапример, я хотел добавить больше свидетельств в покрытие, поэтому я настроил другой фон для этих линий.

Как только у вас появятся красные линии (не покрытые), вы можете попытаться покрыть их, и если вы увидите, что они становятсязеленый означает, что вы хорошо поработали и так далее!

...