小编M.R*_*uti的帖子

Sonarqube gradle 插件 - 排除测试源会破坏报告中的单元测试计数

我正在使用 Gradle sonarqube插件,我需要从声纳分析中排除所有测试源(主要目标是从问题/代码气味报告中过滤掉单元测试类)

为此,我使用了如下专用属性,从分析中sonar.test.exclusions排除整个目录src/test

sonarqube {
    properties {
        property("sonar.exclusions" , "")
        property("sonar.test.exclusions" , "src/test/**/*.java")
        // other sonar properties, omitted
    }
}
Run Code Online (Sandbox Code Playgroud)

这按预期工作(测试源被过滤掉)但是:设置此属性时,声纳无法正确计算/报告单元测试的数量。

请参阅一个非常基本的项目的简单示例:2 个主要源文件,1 个包含 2 个 Junit 测试的测试源文件(还包含一些我不想在报告中看到的问题)

  1. 没有排除情况:

Sonar 正确报告了我的 2 个单元测试,但它还包括单元测试类中的代码味道

在此输入图像描述

  1. 排除情况:

现在,单元测试中的代码气味已被正确过滤,但我丢失了单元测试计数信息 在此输入图像描述

笔记:

  • 使用 Gradle 6.7、sonarqube 插件版本 3.0 和声纳服务器Community EditionVersion 8.4.2
  • 也尝试过该属性sonar.exclusions:同样的问题
  • 所有其他声纳属性均已正确设置,并且在两种情况下具有相同的值:特别sonar.testssonar.java.test.binaries,,,,sonar.junit.reportPathssonar.jacoco.reportPath

知道如何配置 sonarqube 插件,以排除正确的测试源,同时保持单元测试信息可用吗?

gradle sonarqube sonarqube-scan

6
推荐指数
1
解决办法
1835
查看次数

org.gradle.internal.resolve.ArtifactNotFoundException:找不到play-services-basement.aar

我正在使用15.0.1Firebase和Google Play服务的版本.今天的构建已经开始打破.我该如何解决?以下是Gradle日志以供参考.

[org.gradle.internal.buildevents.BuildExceptionReporter] FAILURE: Build failed with an exception.
[org.gradle.internal.buildevents.BuildExceptionReporter]
[org.gradle.internal.buildevents.BuildExceptionReporter] * What went wrong:
[org.gradle.internal.buildevents.BuildExceptionReporter] A problem occurred configuring project ':demo'.
[org.gradle.internal.buildevents.BuildExceptionReporter] > Failed to notify project evaluation listener.
[org.gradle.internal.buildevents.BuildExceptionReporter]    > java.lang.reflect.InvocationTargetException (no error message)
[org.gradle.internal.buildevents.BuildExceptionReporter]
[org.gradle.internal.buildevents.BuildExceptionReporter] * Try:
[org.gradle.internal.buildevents.BuildExceptionReporter]  Run with --scan to get full insights.
[org.gradle.internal.buildevents.BuildExceptionReporter]
[org.gradle.internal.buildevents.BuildExceptionReporter] * Exception is:
[org.gradle.internal.buildevents.BuildExceptionReporter] org.gradle.api.ProjectConfigurationException: A problem occurred configuring project ':demo'.
[org.gradle.internal.buildevents.BuildExceptionReporter]    at org.gradle.configuration.project.LifecycleProjectEvaluator.addConfigurationFailure(LifecycleProjectEvaluator.java:94)
[org.gradle.internal.buildevents.BuildExceptionReporter]    at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:89)
[org.gradle.internal.buildevents.BuildExceptionReporter]    at org.gradle.configuration.project.LifecycleProjectEvaluator.doConfigure(LifecycleProjectEvaluator.java:70)
[org.gradle.internal.buildevents.BuildExceptionReporter]    at org.gradle.configuration.project.LifecycleProjectEvaluator.access$100(LifecycleProjectEvaluator.java:34)
[org.gradle.internal.buildevents.BuildExceptionReporter]    at org.gradle.configuration.project.LifecycleProjectEvaluator$ConfigureProject.run(LifecycleProjectEvaluator.java:110)
[org.gradle.internal.buildevents.BuildExceptionReporter]    at …
Run Code Online (Sandbox Code Playgroud)

android google-play-services android-studio android-gradle-plugin jcenter

5
推荐指数
1
解决办法
3274
查看次数

找不到support-media-compat.aar

尝试将Firebase连接到android gradle应用。一旦添加了Firebase依赖项,我将收到以下构建错误。

FAILURE: Build failed with an exception.

* What went wrong:
Could not resolve all files for configuration ':app:debugCompileClasspath'.
> Could not find support-media-compat.aar (com.android.support:support-media-compat:26.1.0).
  Searched in the following locations:
      https://jcenter.bintray.com/com/android/support/support-media-compat/26.1.0/support-media-compat-26.1.0.aar
> Could not find support-core-utils.aar (com.android.support:support-core-utils:26.1.0).
  Searched in the following locations:
      https://jcenter.bintray.com/com/android/support/support-core-utils/26.1.0/support-core-utils-26.1.0.aar
> Could not find support-compat.aar (com.android.support:support-compat:26.1.0).
  Searched in the following locations:
      https://jcenter.bintray.com/com/android/support/support-compat/26.1.0/support-compat-26.1.0.aar
> Could not find support-compat.aar (com.android.support:support-compat:26.1.0).
  Searched in the following locations:
      https://jcenter.bintray.com/com/android/support/support-compat/26.1.0/support-compat-26.1.0.aar
Run Code Online (Sandbox Code Playgroud)

看起来它只是在搜索jcenter。但是jcenter的每个引用都列出了要搜索的其他存储库。

buildscript {
    repositories {
        jcenter()
        google()
    }
    dependencies { …
Run Code Online (Sandbox Code Playgroud)

android firebase android-gradle-plugin jcenter

4
推荐指数
2
解决办法
6749
查看次数

如何在build.gradle中声明gradle版本5.0?

task wrapper在Gradle是4.x时使用但是当我更改gradleVersion为5.0时,gradle包装器声明它无法添加具有相同名称的任务.当它是4.x时,我可以从4.8变为4.9而没有问题,这不会发生.Gradle改变了如何task wrapper运作?

gradle build.gradle

4
推荐指数
1
解决办法
4428
查看次数

由以下原因引起的 Java Spring-boot:org.springframework.data.mapping.PropertyReferenceException:找不到类型的属性 ID

我不明白问题出在哪里

存储库类:

@Repository
public interface PhotoRepository extends JpaRepository<Photo, UUID> {
Page<Photo> findByCityId( UUID cityId, Pageable pageable);
Run Code Online (Sandbox Code Playgroud)

实体类:

@Entity
@Table (name="photos")
public class Photo {
@Id
@GeneratedValue(strategy= GenerationType.AUTO)
private UUID idPhoto;

private String name;

private double longitude;

private double latitude;

private byte[] image;

private byte[] thumbnail;

@ManyToOne(fetch= FetchType.LAZY)
@JoinColumn(name="cityId",referencedColumnName = "cityId")
private City city;


@Entity
@Table (name="cities")
public class City {

@Id
@GeneratedValue(strategy= GenerationType.AUTO)
private UUID cityId;

private String name;

private double longitude;

private double latitude;

private int photoCount;



@RestController
public …
Run Code Online (Sandbox Code Playgroud)

java spring-boot

2
推荐指数
1
解决办法
1万
查看次数