如何使用gradle构建本身对gradle插件进行单元测试

如何使用gradle构建本身对gradle插件进行单元测试,gradle,testng,Gradle,Testng,我有一个简单的gradle插件,我想试驾,但我不确定如何“要求”gradle运行我的测试 这是我想要修改的块(在我的gradle构建文件的顶部) 当我从命令行运行“gradle”时,我的输出中确实得到了以下内容 :buildSrc:compileJava最新:buildSrc:compileGroovy最新 :buildSrc:processResources-update:buildSrc:classes-update :buildSrc:jar-update:buildSrc:assembl

我有一个简单的gradle插件,我想试驾,但我不确定如何“要求”gradle运行我的测试

这是我想要修改的块(在我的gradle构建文件的顶部)

当我从命令行运行“gradle”时,我的输出中确实得到了以下内容

:buildSrc:compileJava最新:buildSrc:compileGroovy最新 :buildSrc:processResources-update:buildSrc:classes-update :buildSrc:jar-update:buildSrc:assembly-update :buildSrc:compileTestJava最新:buildSrc:compileTestGroovy 最新:buildSrc:processTestResources最新 :buildSrc:testClasses-update:buildSrc:test-update :buildSrc:check-UP-DATE:buildSrc:build-UP-DATE:help

这让我觉得我正在运行目录中的“测试”(结构如下)

但是没有运行任何东西(我希望看到我的CatFileTest失败)——这是我的测试文件

  package foobar.gradle.cat
  import org.testng.annotations.Test

  class CatFileTest {
      @Test     
      void shouldBlowUp() {
          assert 1 == 2
      }
  }

默认的测试框架是JUnit。你必须明确地说


听起来你的插件类就在
buildSrc
下面。如果是这种情况,您必须在
buildSrc
下的
build.gradle
文件中声明对TestNG的依赖关系。内容如下所示:

repositories {
    mavenCentral()
}

dependencies {
    testCompile 'org.testng.testng:6.8.8'
}
要使用TestNG作为测试框架,您必须按照Mark的回答重新配置Java插件提供的默认
test
任务

  package foobar.gradle.cat
  import org.testng.annotations.Test

  class CatFileTest {
      @Test     
      void shouldBlowUp() {
          assert 1 == 2
      }
  }
test {
    useTestNG()
}
repositories {
    mavenCentral()
}

dependencies {
    testCompile 'org.testng.testng:6.8.8'
}