问题标签 [cassandraunit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3330 浏览

java - Cassandra:无法启动 EmbeddedCassandraServerHelper

我正在尝试EmbeddedCassandraServerHelper用于测试。这是我的设置代码

这是属性文件

这是yml文件的一部分

但是,我得到NoHostAvailableException

EmbeddedCassandraServerHelper.startEmbeddedCassandra("test-cassandra.yml", 20000);

这是堆栈跟踪

请注意,似乎可以根据控制台上的这些行启动某些内容

我对吗?为什么服务器会关闭?我的配置有问题吗?另外,这是我的 pom 中的内容

0 投票
2 回答
3974 浏览

java - EmbeddedCassandra:无法运行单元测试

EmbeddedCassandraServerHelper用来执行单元测试。这是我的pom

我在参考文档

https://github.com/jsevellec/cassandra-unit/wiki/How-to-use-it-in-your-code

首先,我试过

我得到了

该文件非常存在,并且在语法上是正确的。我从

https://github.com/jsevellec/cassandra-unit/blob/master/cassandra-unit/src/main/resources/cu-cassandra-rndport.yaml

然后我在这里找到了解决方案

https://github.com/jsevellec/cassandra-unit-examples/issues/8

我将我的 pom 更新为

但现在我得到了

我该如何解决这些错误?我只想运行一个简单的嵌入式 cassandra 服务器进行测试。

0 投票
1 回答
294 浏览

solr - 如何测试使用 DSE Cassandra/Solr 的代码?

我正在开发一个与 Datastax 企业版交互的应用程序(我们正在与 solr 自动同步)。

我想知道如何有效地测试这个应用程序。

我正在考虑使用嵌入式 cassandra 进行测试,但需要注意的是我们正在使用它solr_query来查询 Cassandra。

另一种方法是在真实节点中设置一个测试键空间并使用该键空间运行测试。

但是我想编写不依赖于真正的 cassandra 数据库的功能测试用例。

我想了解人们在处理此类情况时遵循的最佳实践。

干杯,

乌察夫

0 投票
1 回答
479 浏览

spring-cloud-stream - 使用 Spring Cloud Stream、Spring Data Cassandra 和 Cassandra-Unit-Spring 运行集成测试时会出现奇怪的情况

我使用 Cassandra 作为我的应用程序的事件存储,Spring Cloud Stream 接收事件,Spring Cloud Cassandra 保存它们。

为了监听不同的事件,我创建了一个具有两种用户定义类型的 ClientEvent:客户端和产品(两个类都用 注释@UserDefinedType),如下所示:

我的 EventConsumer 看起来像这样,并且适用于不同的事件:

我还有一个控制器,它返回给定客户端的所有事件(所述控制器的代码非常标准,所以我不会在这里发布)。

为了测试这一切,我使用 spring-cloud-contract-stub-runner 和 cassandra-unit-spring 设置了一些集成测试来运行嵌入式 cassandra。我的 application.yml 中只有以下配置:

这是 Spock 测试:

dataset.cql 文件创建 testkeyspace、客户端和产品类型,然后创建 ClientEvent 表。到目前为止,一切都很好。问题是,虽然第一个测试运行良好,但在 EventConsumer 中保存事件时,第二个测试给了我这个 NullPointerException:

我发现如果我在每次测试之间调试或等待一秒钟(使用Thread.sleep(1000)方法setup()),我的测试运行良好!我注意到在每次测试之间,cassandra-unit-spring 都会删除并重新创建数据库。在我看来,第二个测试发生在重新创建用户定义的类型之前,这就是它抛出 NullPointerException 的原因:

我的配置中是否缺少某些内容?如何避免在测试之间等待一秒钟?

0 投票
2 回答
1191 浏览

java - Cassandra-unit:java.io.IOException:对等方重置连接

我正在使用 cassandra-unit 尝试嵌入式 Cassandra 并遇到以下异常,

对于以下代码,

版本:

  • cassandra 驱动程序核心:3.5.0
  • Cassandra 单元:3.5.0.1

任何修复将不胜感激!

0 投票
0 回答
310 浏览

junit - 无法在 EmbeddedCassandra 中为 JUnit 创建密钥空间

我正在使用 cassandra 作为 DB 编写 JUnit。

我正在使用 EmbeddedCassandra 使用 cassandra-unit-spring 库版本 3.1.1.0 进行 JUnit 测试。

但是,当我启动 EmbeddedCassandra 服务器时。它无法加载 CQL,表明键空间不存在。

我尝试将查询更改为大写,还尝试使用注释驱动的@EmbeddedCassandra 服务器,但没有白费。

以下是我得到的错误

0 投票
2 回答
569 浏览

java - 使用 Java 11 和 Cassandra Spring Unit 可能与 lombok 和 gradle 一起使用时 Eclipse 出现问题

所以我遇到了一个项目的问题。Eclipse 会说 java.util.* 有导入错误的地方The package java.util is accessible from more than one module: <unnamed>, java.base

我挖了很多,似乎由于某种原因没有其他人真正遇到这个问题。我们办公室的每个人都是。他们告诉我,虽然我认为 2018 年的 Eclipse RC 版本可以工作,但这是他们唯一可以让它工作的版本。我稍后会尝试发布真实版本。所以我搜索了很多,然后开始使用包含的 gradle 文件。并发现问题仅在我包含 Cassandra-unit-spring testCompile 要求时才存在,因此它只会在测试用例方面引起问题。

我的假设是,这在某种程度上是 eclipse 的一个错误,因为 gradle 本身没有问题。以及 intelij。让我知道我还能在这里提供什么来进一步缩小范围。

谢谢。

0 投票
0 回答
19 浏览

cassandra - CassandraCQLUnit 给出空会话

我的测试类中有以下代码。当我得到 Session 它总是空的

0 投票
0 回答
34 浏览

maven - CassandraUnit 在启动过程中遇到异常

我正在尝试使用 cassandra 单元和 Junit 测试我的 DAO 层。该项目在启动时崩溃。

添加以下行后,它启动了异常。

异常 我在启动项目时遇到异常。

Pom.xml 这是我的 pom 文件,它具有依赖项,我怀疑某些依赖项的版本之间可能存在依赖项冲突。

0 投票
0 回答
9 浏览

spring-boot - Cassandra unit spring - 每个测试类只启动一次嵌入式 Cassandra

我正在使用 cassandra-unit-spring maven 依赖项为我的 spring-boot 应用程序设置集成测试。我能够运行调用 spring-boot 应用程序的测试,该应用程序又访问内存中嵌入式 Cassandra 数据库。

下面是我的测试类的代码

此单个测试调用嵌入式 Cassandra 并根据cassandra/dbcreate.cql文件中的命令创建键空间和表。测试运行后,键空间和表将被删除。

到现在为止,还好。但是,如果我尝试在这个类中添加多个测试,这种方法会在每个测试开始时创建键空间和表,然后在测试运行后删除它们。

并且 dbcreate.cql 文件有很多命令来创建多个表,当这些命令为每个测试运行时,这让我的测试非常慢。

此外,当我尝试拥有多个这样的测试类时,这个问题就会成倍增加。

我能想到的可能解决方案是:

为每个测试类创建一个单独的 cql 文件,该文件具有仅与该类相关的有限 cql 命令- 同样,这并不能解决单个类中每个测试的数据库重置问题

我想为这个嵌入式 Cassandra 的一次启动运行我的所有集成测试,并且表和键空间应该只创建和删除一次以快速执行

这种问题的理想解决方案应该是什么?任何帮助深表感谢。谢谢!