Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<img src="//i.stack.imgur.com/RUiNP.png" height="16" width="18" alt="" class="sponsor tag img">elasticsearch 如何使用build.gradle为测试设置Elasticsearch_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Gradle_Build.gradle - Fatal编程技术网 elasticsearch 如何使用build.gradle为测试设置Elasticsearch,elasticsearch,gradle,build.gradle,elasticsearch,Gradle,Build.gradle" /> elasticsearch 如何使用build.gradle为测试设置Elasticsearch,elasticsearch,gradle,build.gradle,elasticsearch,Gradle,Build.gradle" />

elasticsearch 如何使用build.gradle为测试设置Elasticsearch

elasticsearch 如何使用build.gradle为测试设置Elasticsearch,elasticsearch,gradle,build.gradle,elasticsearch,Gradle,Build.gradle,因此,我一直在尝试为与Elasticsearch交互的API编写JUnit测试。这就像集成测试,在运行代码之前,我需要设置Elasticsearch 对于所有测试,我需要创建一个测试任务,该任务将执行以下操作: 从下载zip文件 compile group: 'org.elasticsearch.distribution.zip', name: 'elasticsearch', version: '6.1.1', ext: 'pom' 运行解压缩文件的/bin中存在的elasticsearc

因此,我一直在尝试为与Elasticsearch交互的API编写JUnit测试。这就像集成测试,在运行代码之前,我需要设置Elasticsearch

对于所有测试,我需要创建一个测试任务,该任务将执行以下操作:

  • 从下载zip文件

    compile group: 'org.elasticsearch.distribution.zip', name: 'elasticsearch', version: '6.1.1', ext: 'pom'
    
  • 运行解压缩文件的/bin中存在的elasticsearch可执行文件。运行此可执行文件时,将命令中的
    elasticsearch.yml
    文件作为参数

  • 运行所有测试后,停止elasticsearch可执行文件,并清理压缩文件夹

  • 我可以改进的是,若zip文件已经存在于我的gradle缓存中,那个么就不要一次又一次地下载它


    谢谢

    将以下依赖项添加到您的
    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')
    

    使用您选择的测试框架,配置
    setUp
    tearDown
    分别启动和停止elastic。

    您不知道我为此欠您多少钱。几天来,我一直在为考试做准备,而elasticsearch社区并没有帮我。非常感谢。