首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当使用cassandra单元测试cassandra时出现异常

当使用cassandra单元测试cassandra时出现异常
EN

Stack Overflow用户
提问于 2013-08-06 06:34:34
回答 1查看 745关注 0票数 0

在我的Java项目中,我使用卡桑德拉单位来尝试和测试我的DAO。

我在类路径中创建了两个文件:

  1. 描述我的初始数据的简单XML
  2. 卡桑德拉配置文件(cassandra.yaml)

这是我的考试课:

代码语言:javascript
复制
public class UserProfilingCassandraDaoUTest extends BaseJunitTestCase {

    @Rule
    public CassandraUnit cassandraUnit = new CassandraUnit(new ClassPathXmlDataSet("cassandraTestValues.xml"), "cassandra.yaml", "127.0.0.1");

    private HectorCassandraConnection connection;

    @Before
    public void init() throws Exception {
    connection = Mockito.mock(HectorCassandraConnection.class);
    Mockito.when(connection.getKeyspace()).thenReturn(cassandraUnit.keyspace);
    }

    @Test
    public void shouldHaveLoadTestDataSet() throws Exception {
    Assert.assertNotNull(cassandraUnit.keyspace);
    Assert.assertEquals(cassandraUnit.keyspace.getKeyspaceName(), "rtb");
    }

    @Test
    public void getUserStatsTest() {
      // Some Test
    }
}

这是我的cassandraTestValues.xml文件:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<keyspace xmlns="http://xml.dataset.cassandraunit.org">
    <name>rtb</name>
    <columnFamilies>
        <columnFamily>
            <name>my_column_family</name>
            <keyType>UTF8Type</keyType>
            <comparatorType>UTF8Type</comparatorType>
            <defaultColumnValueType>UTF8Type</defaultColumnValueType>
            <row>
                <key>12345__678_910</key>
                <column>
                    <name>Col1</name>
                    <value>6</value>
                </column>
                <column>
                    <name>Col2</name>
                    <value>6</value>
                </column>
                <column>
                    <name>Col3</name>
                    <value>3</value>
                </column>
            </row>
        </columnFamily>
    </columnFamilies>
</keyspace>

当我运行我的测试时,我得到了这原木这一错误

为了克服这个问题,我已经尝试了好几个小时,但都没有成功。有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-06 14:34:23

这是有点悲哀,但改变卡桑德拉单位版本从1.2.0.1到1.0.3.1,它的工作就像一个魅力。通过将这个项目导入到我的工作区,我获得了解决方案。导入的项目工作得很好,经过压缩后,两者都发现版本之间的差异是造成问题的原因。

此外,以后的maven版本中没有使用,这意味着在1.0.3.1之后发布的所有版本都失败了(1.2.0.1,1.1.2.1,1.1.1.3,1.1.1.2,1.1.1.1,1.1.0.1)。

我希望这能为将来的某人节省一些时间。我确实花了一段时间。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18073168

复制
相关文章

相似问题

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