因此,我一直在尝试为与Elasticsearch交互的API编写JUnit测试。这就像集成测试,在运行我的代码之前,我需要先设置Elasticsearch。
对于所有测试,我需要创建一个测试任务,该任务将执行以下操作:
compile group: 'org.elasticsearch.distribution.zip', name: 'elasticsearch', version: '6.1.1', ext: 'pom'
elasticsearch.yml
文件作为参数。 我可以改进的是,如果Gradle缓存中已经存在zip文件,则不要一次又一次下载它。
谢谢
最佳答案
将以下依赖项添加到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
分别启动和停止 flex 。
关于elasticsearch - 如何使用build.gradle为您的测试设置Elasticsearch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48365090/