我已经创建了一个单元测试,它使用embedded-cassandra并执行一些脚本。但我无法弄清楚这些脚本是否成功运行。
我看到以下两个打印(可能是因为我有两个声明)。是否有方法获取执行结果并将其打印在控制台上。
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是否已经开始了!!
我试图通过传递TestCassandra和cqlStatements来创建too many arguments in TestCassandra,但是得到了错误too many arguments in TestCassandra
发布于 2019-05-19 10:00:35
不可能从配置文件中设置版本。
您是否使用任何slf4j提供程序进行日志记录?
查看脚本已被执行的最简单方法就是为com.github.nosan.embedded.cassandra.test.util.CqlUtils启用调试级别。
如果您没有看到任何异常,那么脚本的执行就没有问题。
我试图通过传递TestCassandra和cqlStatements来创建cqlStatements,但是在TestCassandra中我得到了太多的参数
我认为你应该使用这个构造函数。
public TestCassandra(CassandraFactory cassandraFactory, CqlScript... scripts) {}
new TestCassandra(cassandraFactory, CqlScripts.statemets(...,...))https://stackoverflow.com/questions/56205743
复制相似问题