gradle - 修改测试任务

时间:2018-01-21 08:44:19

标签: gradle build.gradle

我已在我的gradle文件中为我的项目应用了java插件。

对于测试任务,我需要在运行测试之前进行一些设置。

要做的事情:

  1. 我需要从

    下载zip

    编译组:' org.elasticsearch.distribution.zip',名称: ' elasticsearch',版本:' 6.1.1',分机:' pom'

  2. 我需要在解压缩文件的/ bin中运行弹性搜索可执行文件。另外,我需要为它指定elasticsearch.yml配置文件。

  3. 运行测试后,我需要停止elasticsearch可执行文件。并清理压缩文件夹。

  4. 我可以改进的是,如果我的gradle缓存中已经存在zip文件,那么请不要一次又一次地下载它。

    由于

1 个答案:

答案 0 :(得分:1)

将以下依赖项添加到build.gradle文件

configurations {
  elasticDist
}
...
dependencies { 
  elasticDist group: 'org.elasticsearch.distribution.zip', name: 'elasticsearch', version: '6.1.2', ext: 'zip'
}

添加任务以解压缩和清理,设置依赖项

task unzip(type: Copy) {
  // to download distribution
  dependsOn configurations.elasticDist

  from { // use of closure defers evaluation until execution time
    configurations.elasticDist.collect { zipTree(it) }
  }

  into file("${buildDir}/your/destination")
}

task cleanElastic(type:Delete) {
   delete file("${buildDir}/your/destination")
}

test.dependsOn('unzip')
test.finalizedBy('cleanElastic')

使用您选择的测试框架,配置setUptearDown分别启动和停止弹性。