当前位置: 首页 > 知识库问答 >
问题:

如何指定Gradle SonarQube插件运行的测试任务

司浩壤
2023-03-14

我正在使用带有sonarqube插件的Gradle并使用

gradle sonarqube

然而,它调用了内置的“测试”任务,该任务运行所有类型的测试,包括目前尚未全部通过的集成测试。我希望能够指定sonarqube任务使用类似“unitTest”的任务,而不是运行所有内容的“test”任务。

团队中的其他人在IDE中运行cucumber测试,IDE也使用测试任务,因此当前当我在主“测试”任务中排除cucumber测试时,他们必须注释排除,以便启动他们的cucumber测试,这并不理想。

我使用以下语法包括sonarqube:

plugins {
    id "org.sonarqube" version "2.5"
}

如何使sonarqube任务使用另一个测试任务?

更新:

让它与下面的代码一起工作,让子项目首先运行它们的unitTest来生成所需的测试报告数据,然后运行sonarqube任务。

// Removes the dependency on main test task and runs unitTests for test code coverage statistics
tasks['sonarqube'].with {
    dependsOn.clear()
    subprojects.each { dependsOn("${it.name}:unitTests") }
}

德彭森。clear()清除所有依赖项,因此如果有多个依赖项,我可能需要执行以下操作

taskName.enabled=false

然后在任务完成后重新启用它,除非有更简单的方法?我试过戴彭森。删除(“测试”),但这不起作用。

共有1个答案

左恺
2023-03-14

根据文档,默认情况下,sonarqube任务仅取决于测试任务:

为了满足这些需求,如果应用了java插件,插件会在测试时添加来自sonarqube的任务依赖项。

您可以轻松删除此任务依赖项并添加自己的依赖项:

task unitTest {
    doLast {
        println "I'm a unit test"
    }
}

tasks['sonarqube'].with {
    dependsOn.clear()
    dependsOn unitTest
}

现在,每当您执行sonarqube任务时,只会执行unitTest任务(及其依赖项)。请注意,DepsOn只是依赖项的列表。您可以通过多种不同的方式对其进行修改。

 类似资料:
  • 问题内容: 我的程序包测试用例分散在多个文件中,如果运行,它将运行程序包中的所有测试用例。 虽然没有必要全部运行。有没有一种方法指定要运行的文件,使其仅运行文件中定义的测试用例? 问题答案: 有两种方法。一种简单的方法是使用该标志并提供与您要运行的测试名称匹配的模式。 例: 有关更多信息,请参阅文档。 另一种方法是命名包含您要运行的测试的特定文件: 但是有一个陷阱。如果满足以下条件,则效果很好:

  • 我正在使用Eclipse Buildship插件在我的项目上执行Gradle任务。知道如何在运行构建任务时排除测试任务吗?在Gradle STS插件中,我曾经将程序参数更新为'-x test',它跳过了测试任务。当我在Buildship上尝试同样的方法时,得到了下面的错误。

  • 我正在使用Java、Selenium、Maven和TestNG来执行自动化测试。我正在使用Jenkins克隆GitHub repo并在构建启动时启动测试。目前,我对一个项目中的几个应用程序进行了测试。我的testng.xml文件如下所示,“appone”是一个应用程序,“apptwo”是另一个应用程序,它们都运行“生产”分组测试。 或者,为每个应用程序创建一个单独的项目,从而使用单独的testng

  • Jenkins管道插件如何运行并行任务 我是jenkins的初学者,我想使用管道插件在jenkins的可用从节点上并行启动一些任务。 我安装了管道插件并在下面的管道内联脚本部分中添加了。 注意:主节点和从站1是我的节点 理想情况下,第一分支和第二分支是什么???? 控制台输出: 由用户匿名[Pipeline]parallel[Pipele][firstBranch]{(Branch:firstBr

  • 问题内容: Maven版本:3.3.3。Findbugs插件版本:3.0.1 我正在使用,并且需要在src和测试类上运行findbugs插件。当前,它仅适用于源类 我需要对PMD插件执行相同的操作。同样的提示吗? Findbugs Maven配置: 问题答案: 在的配置中,您需要将元素显式设置为FindBugs来分析测试类: 另外,插件应绑定到该阶段,以便在编译源类和测试类之后执行FindBugs

  • 我有一个自定义任务定义来运行每个测试具有特殊设置的特定测试文件。我的任务定义如下: 现在,此设置中的一些测试是不可靠的,我尝试再次运行它们,如下所示: 我编写了一个测试类,第一次总是失败,第二次总是成功: 不幸的是,测试只执行一次,整个测试套件失败。我可以使用中所述的自定义规则成功运行测试https://stackoverflow.com/a/55178053/6059889 有没有办法将测试重试