Maven --> Gradle
Сначала установите градиент: Установка Mac
brew install gradle
Установка Ubuntu
apt install gradle
Переключите проект Maven на проект Gradle и запустите его в корневом каталоге Maven:
gradle init --type pom
После успешного запуска выполните командуgradle build
, удалите pom.xml после успеха.
Анализ модульных тестов с помощью jacoco
jacocoЭто инструмент для анализа покрытия юнит-тестами, который после запуска юнит-тестов может показать, какие части кода юнит-тестированы, а какие не покрыты юнит-тестами, а также дать покрытие юнит-тестами всего проекта. .
существуетbuild.gradle
Добавьте плагин jacoco в
apply plugin: 'jacoco'
Выполнить команду для анализа модульного теста
gradle jacocoTestReport
Или вы можете перейти в меню инструментов Gradle.Tasks -> other -> jacocoTsestReport
Анализ юнит-тестов можно запускать напрямую.
jacoco
каталог иreports/test/html
каталог, последние в основном представляют собой отчеты, созданные jacoco.
Проверка качества кода с помощью SonarQube
SonarQubeЭто система управления качеством кода с открытым исходным кодом, которая поддерживает более 25 языков программирования, предоставляет дублированный код, стандарты кодирования, модульные тесты, покрытие модульными тестами, сложность кода, потенциальные ошибки, комментарии и отчеты о разработке программного обеспечения. Чтобы использовать SonarQube в gradle, вам сначала нужно добавить зависимости, добавьте в скрипт компиляции:
buildscript {
repositories {
maven { url "https://plugins.gradle.org/m2/" }
}
dependencies {
classpath("org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.6-rc1")
classpath("org.springframework.boot:spring-boot-gradle-plugin:2.0.5.RELEASE")
}
}
Добавить плагин:
apply plugin: "org.sonarqube"
Настройте SonarQube:
sonarqube {
properties {
property "sonar.sourceEncoding", "UTF-8"
property "sonar.host.url", "https://sonarcloud.io"
property "sonar.jdbc.url", "jdbc:mysql://my.server.com/sonar"
property "sonar.jdbc.driverClassName", "com.mysql.jdbc.Driver"
property "sonar.login", "test"
property "sonar.password", "test"
}
}
Или просто используйте токен для загрузки результатов анализа:
property "sonar.login", "token"
Сам SonarQube не предоставляет инструмент для покрытия юнит-тестами. Вам необходимо добавить конфигурацию, связанную с jacoco, в SonarQube после использования результатов анализа jacoco.
sonarqube {
properties {
property "sonar.jacoco.reportPath", "$rootDir/build/jacoco/test.exec"
property "sonar.jacoco.itReportPath", "$rootDir/build/jacoco/acceptanceTest.exec"
property "sonar.jacoco.excludes", "*/st/*"
property "sonar.sourceEncoding", "UTF-8"
property "sonar.host.url", "https://sonarcloud.io"
property "sonar.jdbc.url", "jdbc:mysql://my.server.com/sonar"
property "sonar.jdbc.driverClassName", "com.mysql.jdbc.Driver"
property "sonar.login", "test"
property "sonar.password", "test"
}
}
Команда выполненияgradle sonarqube
Вы можете проанализировать код и загрузить результаты анализа.Поскольку анализ SonarQube основан на анализе модульных тестов jacoco, вам необходимо сначала запустить команду.gradle jacocoTestReport
. Последняя комбинированная команда, которую необходимо выполнить:
gradle jacocoTestReport
gradle sonarqube