J'ai laissé le contenu créé lorsque je l'ai essayé dans le référentiel suivant mitsuya-saida/clover-sample
Dépendant | Licence |
---|---|
clover | Apache 2.0 license |
bmuschko/gradle-clover-plugin | Apache 2.0 license |
Ajoutez gradle-clover-plugin aux dépendances dans buildscript comme indiqué ci-dessous
buildscript {
dependencies {
classpath 'com.bmuschko:gradle-clover-plugin:2.1.3'
}
}
Ajout de paramètres pour appliquer le plugin
apply plugin: 'com.bmuschko.clover'
Ajout du trèfle aux dépendances
dependencies {
clover 'org.openclover:clover:4.2.0'
}
Décrire les paramètres du trèfle
clover {
report {
html = true
}
}
Le build.gradle final du projet créé avec Spring Boot est le suivant
buildscript {
ext {
springBootVersion = '1.5.8.RELEASE'
}
repositories {
mavenCentral()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
classpath 'com.bmuschko:gradle-clover-plugin:2.1.3'
}
}
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'com.bmuschko.clover'
group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
clover {
report {
html = true
filter = 'main'
}
}
dependencies {
compile('org.springframework.boot:spring-boot-starter-web')
compileOnly('org.projectlombok:lombok')
testCompile('org.springframework.boot:spring-boot-starter-test')
clover 'org.openclover:clover:4.2.0'
}
S'il vous plaît
Le test est exécuté par la commande suivante et le fichier de couverture est sorti.
$ gradle clean cloverGenerateReport
Puisque le rapport html est généré dans le résultat de la construction, jetez-y un œil avec un navigateur Dans le cas de ce projet, il se situe dans le chemin suivant
clover-sample/build/reports/clover/index.html
En regardant le navigateur, cela ressemble à ceci
Les commandes disponibles sont les suivantes
Commande | Utilisation |
---|---|
cloverGenerateReport | Exécuter le test et la couverture de sortie |
cloverAggregateReports | Résultats d'exécution de test agrégés pour les projets avec plusieurs modules (je ne suis pas sûr car je ne l'ai jamais utilisé) |
Essayez d'exclure la fonction principale, getter, setter de la couverture
Couverture de sortie en écrivant ce qui suit dans les paramètres de trèfle
clover {
contexts {
method {
name = 'main'
regexp = 'public static void main\\(String\\[\\] args\\).*'
}
}
report {
html = true
filter = 'main,property'
}
}
Recommended Posts