Возможности контроля качества кода в TeamCity

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

Оценка качества кода

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

Быстрая обратная связь по тестам

Сокращение цикла обратной связи — ключевое условие эффективности CI/CD-процесса. Чем раньше станет известно о проблеме, тем эффективнее ее можно решить. Поэтому в TeamCity особое внимание уделено быстрой обратной связи, чтобы разработчики своевременно получали необходимую информацию.

Использование критериев качества

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

Оценка и повышение качества кода

TeamCity предлагает широкий набор функций для оценки и повышения качества кода: от поддержки различных фреймворков тестирования до инспекций кода. Это позволяет быстрее доставлять пользователям качественное ПО.

Автоматизированные фреймворки тестирования

Благодаря нативной поддержке фреймворков тестирования и генерации отчетов в реальном времени TeamCity обеспечивает автоматическое тестирование в рамках CI/CD-пайплайна.

Поддерживаемые фреймворки:

  • Фреймворки тестирования .NET, в том числе NUnit, MSTest, MSPec и Gallio
  • Фреймворки тестирования Java, в том числе Junit и TestNG
  • PyTest
  • Jest
  • Mocha
  • Test::Unit
  • RSpec

Широкие возможности индивидуальной настройки

Если нужный вам инструмент еще не поддерживается, можно воспользоваться одним из плагинов обширной экосистемы TeamCity. Кроме того, вы можете самостоятельно писать новые плагины для нужных инструментов с помощью API TeamCity или встраивать в пайплайн сборки и тестирования пользовательские скрипты.

Создание отчетов о покрытии кода

Отслеживая объем покрытия кода автоматическими тестами, можно гарантировать минимально необходимое покрытие при каждом запуске CI/CD-пайплайна.

TeamCity интегрируется с dotCover, NCover и PartCover для .NET, а также по умолчанию поддерживает создание отчетов о покрытии Java-кода в IntelliJ IDEA, EMMA и JaCoCo. Если вы используете другие инструменты оценки покрытия кода, можно импортировать результаты и на основании полученных данных определить, насколько успешен был этап сборки. Подробнее о настройках анализа покрытия Java-кода и .NET-кода в TeamCity читайте в документации.

Статический анализ и инспекции кода

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

В рамках автоматического пайплайна сборки и тестирования можно выполнять инспекции кода с помощью ReSharper (для языков .NET, JavaScript, HTML и CSS), IntelliJ IDEA (для Java, JavaScript, HTML и XML), Qodana или FxCop.

Хотите гарантировать высокое качество кода?

В TeamCity есть все необходимое для более быстрого выпуска стабильного и надежного ПО. Сокращение цикла обратной связи приводит к более быстрой доставке кода.

Выберите подходящую версию TeamCity:

Обнаружение дублирующегося кода

Дублирующийся код очень осложняет обслуживание. Благодаря тому, что TeamCity интегрируется с IntelliJ IDEA и ReSharper, Java-код и .NET-код можно проверять прямо в IDE. Отслеживание ошибок копирования по ходу работы предотвращает попадание дублирующихся фрагментов кода в систему контроля версий и избавляет других членов команды от потенциальных проблем.

Быстрая обратная связь по тестам

Сокращение циклов обратной связи повышает эффективность CI/CD-процессов. TeamCity предоставляет инструменты, позволяющие своевременно получать всю необходимую информацию.

Подробные отчеты о тестировании

В веб-приложении TeamCity можно посмотреть результаты каждого этапа CI/CD-пайплайна, а также подробную информацию о результатах тестов, инспекций кода, анализа дублирующегося кода и оценки покрытия кода. Метаданные тестов и логи сборки помогают быстро определить причины сбоев.

Commit Status Publisher

Просматривать результаты последней сборки можно прямо из системы контроля версий: функция Commit Status Publisher дает доступ к обновленным сведениям о сборке и тестировании. Она работает с GitHub, GitLab, Bitbucket, Azure DevOps, Perforce Helix Swarm и другими системами.

Параллельное и высокорисковое тестирование

Умная параллелизация тестов позволяет повысить производительность автоматического тестирования. TeamCity рассчитывает самый эффективный вариант распределения нагрузки, исходя из данных предыдущих запусков.

Быстрая доставка качественного кода

Как только причина проблемы обнаружена, ее нужно устранить. Удобный интерфейс TeamCity и широкие возможности сборки позволяют создать простой и надежный CI/CD-пайплайн.

Условия неудачного завершения сборки

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

Выявление неустойчивых тестов

Специальная функция TeamCity выявляет неустойчивые тесты, чтобы их результаты можно было игнорировать при переходе к следующим этапам сборки, пока тесты не будут исправлены.

Автоматическое назначение расследований

TeamCity может самостоятельно определить, кто способен эффективнее всех расследовать ошибки сборки, неудачные тесты и другие проблемы, чтобы разработчики сосредоточились на написании качественного кода.

Автоматическое слияние

Если все идет хорошо, TeamCity может самостоятельно слить ветку функции с основной веткой. Более того, при этом может запускаться пайплайн сборки и тестирования основной ветки.

Бесшовная интеграция с Qodana

Qodana — платформа для контроля качества кода на основе статического анализа кода от JetBrains. Она запускает анализ на стороне CI, обеспечивает моментальную обратную связь в CI-инструменте или IDE и помогает командам разработки соблюдать установленные стандарты качества. Используя Qodana, команды создают удобный для чтения и обслуживания, а также безопасный код и могут быть уверены в выпускаемом ПО.

Вопросы и ответы

Что такое качество кода?

Качество кода — это не просто количество багов в приложении, это еще и удобство чтения и обслуживания кода. Чем выше качество кода, тем больше вероятность того, что ПО будет вести себя так, как ожидается, не только сейчас, но и по мере добавления новых функций.

Какие инструменты используются для контроля качества кода?

Одни из самых популярных инструментов для контроля качества кода — SonarQube и Crucible. TeamCity предлагает полную интеграцию с этими продуктами, а также широкий выбор встроенных инструментов.

Почему важно обеспечивать качество кода?

Если код плохо структурирован или слишком сложен, его труднее тестировать, а обслуживание требует больших усилий. В результате растет вероятность ошибок, и командам становится сложнее выпускать новые функции.

Инструменты TeamCity для контроля качества кода предоставляются бесплатно?

В отличие от сторонних инструментов, которые требуют дополнительной подписки, все инструменты для контроля качества кода, входящие в состав TeamCity, предоставляются бесплатно в рамках стандартной подписки на TeamCity, включающей TeamCity Professional — бесплатную локальную версию.

Начните работу в TeamCity

Эффективный CI/CD-инструмент со встроенными функциями контроля качества кода