首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法确定我的脚本在embedded-cassandra中是否正确执行

无法确定我的脚本在embedded-cassandra中是否正确执行
EN

Stack Overflow用户
提问于 2019-05-19 07:44:20
回答 1查看 139关注 0票数 1

我已经创建了一个单元测试,它使用embedded-cassandra并执行一些脚本。但我无法弄清楚这些脚本是否成功运行。

我看到以下两个打印(可能是因为我有两个声明)。是否有方法获取执行结果并将其打印在控制台上。

代码语言:javascript
复制
WARN c.d.d.c.Connection - /127.0.0.1:9042 did not send an authentication challenge; This is suspicious because the driver expects authentication (configured auth provider = com.datastax.driver.core.PlainTextAuthProvider)
WARN c.d.d.c.Connection - /127.0.0.1:9042 did not send an authentication challenge; This is suspicious because the driver expects authentication (configured auth provider = com.datastax.driver.core.PlainTextAuthProvider)

  "UsersRepository Specs" should {
    "create keyspace" in {
      val factory = new LocalCassandraFactory
      println(s"factory is ${factory}")
      factory.setVersion(("3.11.1")) //TODOM . shall I pick these fromm a config file?
      val statement1 =
        """
          |CREATE KEYSPACE myspace
          |  WITH REPLICATION = {
          |   'class' : 'SimpleStrategy',
          |   'replication_factor' : 1
          |  };
        """.stripMargin

      val statement2 =
        """
          |SELECT * FROM system_schema.keyspaces
        """.stripMargin

      val cqlStatements:CqlStatements = new CqlStatements(statement1,statement2)

      val cassandraFactory = factory.create
      val testCassandra = new TestCassandra();

      try {
        testCassandra.start()
        testCassandra.executeScripts(cqlStatements)
      } finally testCassandra.stop()

    }
  }

在使用中还可能存在另一个问题。虽然我正在创建TestCassandra。我不会将cassandraFactory实例传递给它。所以我想知道embedded-cassandra是否已经开始了!!

我试图通过传递TestCassandracqlStatements来创建too many arguments in TestCassandra,但是得到了错误too many arguments in TestCassandra

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-19 10:00:35

不可能从配置文件中设置版本

您是否使用任何slf4j提供程序进行日志记录?

查看脚本已被执行的最简单方法就是为com.github.nosan.embedded.cassandra.test.util.CqlUtils启用调试级别。

如果您没有看到任何异常,那么脚本的执行就没有问题。

我试图通过传递TestCassandra和cqlStatements来创建cqlStatements,但是在TestCassandra中我得到了太多的参数

我认为你应该使用这个构造函数。

代码语言:javascript
复制
public TestCassandra(CassandraFactory cassandraFactory, CqlScript... scripts) {}

new TestCassandra(cassandraFactory, CqlScripts.statemets(...,...))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56205743

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档