将JUnit测试结果和代码覆盖率上传到Sonar



我有一个Android应用程序,我们有一个使用ant构建的项目,然后将lint分析结果上传到Sonar服务器。我有另一个包含所有JUnit测试的测试项目。我想把JUnit测试结果和Sonar的代码覆盖率上传到android应用程序的同一Sonar项目中。如何在ant构建脚本中做到这一点,只上传JUnit测试结果和代码覆盖率?

<!-- Sample local host configuration -->
<property name="sonar.host.url" value="http://localhost:9000" />
<property name="sonar.jdbc.url" value="jdbc:h2:tcp://localhost:9092/sonar" />
<property name="sonar.jdbc.username" value="x" />
<property name="sonar.jdbc.password" value="x" />
<!-- Define the SonarQube project properties -->
<property name="sonar.projectKey" value="android-app" />
<property name="sonar.projectName" value="AndroidApp" />
<property name="sonar.language" value="java" />
<property name="sonar.modules" value="MyAndroidApp" />
<property name="sonar.profile" value="Android Lint" />
<property name="sonar.projectBaseDir" value="../MyAndroidApp" />
<property name="sonar.sources" value="src" />
<property name="sonar.binaries" value="bin/classes" />
<property name="sonar.libraries" value="libs/*.jar, ../google-play-services_lib/libs/*.jar, ${sdk.dir}/platforms/${target}/android.jar" />
<property name="junit.tests.results" value="../MyAndroidAppJavaUnitTests/junit-output" />
<!-- Sets the sonar project version at runtime-->
<target name="sonar-set-project-version">
    <xpath input="${manifest.abs.file}" expression="/manifest/@android:versionName" output="sonar.projectVersion"/>
    <echo level="info">Setting sonar project version to: ${sonar.projectVersion}</echo>
</target>

<!-- Define the SonarQube target -->
<target name="sonar" depends="sonar-set-project-version">
    <taskdef uri="antlib:org.sonar.ant" resource="org/sonar/ant/antlib.xml">
        <!-- Update the following line, or put the "sonar-ant-task-*.jar" file in your "$HOME/.ant/lib" folder -->
        <classpath path="sonar-ant-task-*.jar" />
    </taskdef>
    <!-- Execute the SonarQube analysis -->
    <sonar:sonar />
</target>

Olivier Gaudin几年前在一篇声纳博客文章中解释了这个过程

由于我没有Ant构建,我不确定这是否可行,但请尝试设置以下参数sonar.junit.reportsPath=path/to/your/junit/reportsonar.dynamicAnalysis=reuseReports。这应该能胜任工作。

相关内容

  • 没有找到相关文章

最新更新