0

我正在使用ElasticSearch-1.6.0 此链接设置 ES 测试 https://www.elastic.co/guide/en/elasticsearch/reference/1.6/using-elasticsearch-test-classes.html 和此链接 https://www.elastic .co/guide/en/elasticsearch/reference/1.6/integration-tests.html 获取客户端实例。

这是代码:

class CampaignESTest extends ElasticsearchIntegrationTest {
val client=ElasticsearchIntegrationTest.cluster().client()

}

但我得到一个NullPointerException.

这是堆栈跟踪:

[info] Exception encountered when attempting to run a suite with class name: org.scalatest.DeferredAbortedSuite *** ABORTED ***
[info]   java.lang.NullPointerException:
[info]   at testcontrollers.campaign.CampaignESTest.<init>(CampaignESTest.scala:38)
[info]   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[info]   at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
[info]   at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[info]   at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
[info]   at java.lang.Class.newInstance(Class.java:442)
[info]   at org.scalatest.tools.Framework$ScalaTestTask.execute(Framework.scala:468)
[info]   at sbt.ForkMain$Run$2.call(ForkMain.java:296)
[info]   at sbt.ForkMain$Run$2.call(ForkMain.java:286)

CampaignESTest.scala:Line 38

val client=ElasticsearchIntegrationTest.cluster().client()

这是 build.sbt 文件:

"org.elasticsearch" % "elasticsearch" % "1.6.0",
                "org.elasticsearch" % "elasticsearch" % "1.6.0" % "test" classifier "tests",
                "org.apache.lucene" % "lucene-test-framework" % "4.10.4" % "test",
                "com.carrotsearch.randomizedtesting" % "randomizedtesting-runner" % "1.6.0" % "test",
                "org.apache.lucene" % "lucene-codecs" % "4.10.4" % "test",
                "org.apache.logging.log4j" % "log4j-core" % "2.8.2",
                "org.apache.logging.log4j" % "log4j-slf4j-impl" % "2.8.2" ,
                "org.apache.logging.log4j" % "log4j-api" % "2.8.2",

为什么我得到一个NullPointerException?当我这样做时,我得到了同样的例外

ElasticsearchIntegrationTest.client()

如何获取客户端对象?另外,我怎样才能得到一个transportClient用于测试目的?

4

0 回答 0