How can i run Unit in Android Studio

87 views
Skip to first unread message

Habib Durodola

unread,
Feb 17, 2016, 4:08:07 PM2/17/16
to SonarQube
Hello, i have an android project having ran "gradle sonarqube" i did not the unit test result and coverage...

This is my gradle file

apply plugin: 'com.android.application'
apply plugin: "org.sonarqube"
apply plugin: 'jacoco'

sonarqube {
properties {
property "sonar.projectName", "sonarUnitTest"
// property "sonar.projectKey", "org.sonarqube:android-sonarqube-gradle"
// property "sonar.projectName", "android-sonarqube-gradle"

property "sonar.projectKey", "org.sonarqube:SonarUnitTestAnalysis"
property "sonar.version", "1.0"
property "sonar.sources", "./src/main/java"
property "sonar.tests", "./src/test/java"
property "sonar.java.binaries", "./build/intermediates/classes/debug"
property "sonar.junit.reportsPath", "./build/test-results/debug"
property "sonar.android.lint.report", "./build/outputs/lint-results.xml"
property "sonar.verbose", "false"
}
}
/////
buildscript {
repositories {
maven {
url "http://repo1.maven.org/maven2/"
}
maven {
url "https://plugins.gradle.org/m2/"
}
mavenLocal()
}
dependencies {
classpath 'org.ajoberstar:gradle-jacoco:0.1.0'
classpath 'org.sonarqube.gradle:gradle-sonarqube-plugin:1.0'
}
}

repositories {

jcenter()
}

repositories {
repositories {
maven {
url "http://repo1.maven.org/maven2/"
}
}
}
//////




android {
compileSdkVersion 23
buildToolsVersion "23.0.2"

defaultConfig {
applicationId "com.example.mobile.sonarunittestanalysis"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
}

Julien HENRY

unread,
Feb 18, 2016, 6:10:01 AM2/18/16
to SonarQube
Hi Habib,

I think for coverage you need to pass the sonar.jacoco.reportPath property pointing on your jacoco.exec report. For unit test results I have no idea since you properly pass sonar.junit.reportsPath.

Could you share Gradle logs with debug enabled?

Thanks

Julien

Habib Durodola

unread,
Feb 18, 2016, 9:40:46 AM2/18/16
to SonarQube
Hi Julien this is the gradle log..... also can you please be specific as to which path to point for jacoco-Code-Coverage

09:39:43.127 INFO  - Sensor SurefireSensor

09:39:43.128 INFO  - parsing /Users/mobile/Downloads/SonarUnitTestAnalysis/app/./build/test-results/debug

09:39:43.221 INFO  - Sensor SurefireSensor (done) | time=94ms

09:39:43.221 INFO  - Sensor SCM Sensor

09:39:43.221 INFO  - No SCM system was detected. You can use the 'sonar.scm.provider' property to explicitly specify it.

09:39:43.221 INFO  - Sensor SCM Sensor (done) | time=0ms

09:39:43.221 INFO  - Sensor Code Colorizer Sensor

09:39:43.222 INFO  - Sensor Code Colorizer Sensor (done) | time=1ms

09:39:43.222 INFO  - Sensor CPD Sensor

09:39:43.222 INFO  - JavaCpdEngine is used for java

09:39:43.253 INFO  - Sensor CPD Sensor (done) | time=31ms

09:39:43.313 INFO  - Analysis report generated in 56ms, dir size=12 KB

09:39:43.333 INFO  - Analysis reports compressed in 20ms, zip size=10 KB

09:39:43.619 INFO  - Analysis report uploaded in 285ms

09:39:43.621 INFO  - ANALYSIS SUCCESSFUL, you can browse http://localhost:9000/dashboard/index/org.sonarqube:SonarUnitTestAnalysis

Julien HENRY

unread,
Feb 18, 2016, 9:49:26 AM2/18/16
to SonarQube
According to Gradle documentation [1] the default path for JaCoCo report is: $buildDir/reports/jacoco

So you should probably have to pass sonar.jacoco.reportPath=build/reports/jacoco/something.exec

Your logs seem to show that SurefireSensor was correctly executed to parse your test execution reports.
Reply all
Reply to author
Forward
0 new messages