CassandraUnit是一个Cassandra数据操作的单元测试框架,其功能与关系型数据库测试框架DBunit类似,只是其测试对象是Cassandra。

下面是一个最简单使用例子:创建一个用于存储数据的xml文件,命名为 simpleDataSet.xml

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>  <keyspace xmlns="http://xml.dataset.cassandraunit.org">      <name>beautifulKeyspaceName</name>      <columnFamilies>          <columnFamily>              <name>beautifulColumnFamilyName</name>              <row>                  <key>key10</key>                  <column>                      <name>name11</name>                      <value>value11</value>                  </column>                  <column>                      <name>name12</name>                      <value>value12</value>                  </column>              </row>              <row>                  <key>key20</key>                  <column>                      <name>name21</name>                      <value>value21</value>                  </column>              </row>          </columnFamily>      </columnFamilies>  </keyspace>

然后再创建一个单元测试类,继承自AbstractCassandraUnit4TestCase

package org.cassandraunit;    import static org.hamcrest.Matchers.is;  import static org.hamcrest.Matchers.notNullValue;  import static org.junit.Assert.assertThat;    import org.cassandraunit.dataset.IDataSet;  import org.cassandraunit.dataset.xml.ClassPathXmlDataSet;  import org.junit.Test;    public class AutomaticallyStartAndLoadSimpleDataSetTest extends AbstractCassandraUnit4TestCase {        @Override      public IDataSet getDataSet() {          return new ClassPathXmlDataSet("simpleDataSet.xml");      }        @Test      public void shouldHaveLoadASimpleDataSet() throws Exception {          assertThat(getKeyspace(), notNullValue());          assertThat(getKeyspace().getKeyspaceName(), is("beautifulKeyspaceName"));      }    }

Apache Cassandra是一套开源分布式Key-Value存储系统。它最初由Facebook开发,用于储存特别大的数据。Facebook目前在使用此系统

DbUnit 使您可以容易地执行 JDBC 查询并获取它们的值。使用 DbUnit JDBC 包装器而不是纯粹的 JDBC 有几个理由:

  • 可以用 SQL 查询创建一个 Dataset ,并使用 DbUnit 的 assertion(断言)方法(在后面描述)。
  • 可以用 SQL 查询创建一个 Dataset ,并将它保存为一个 FlatXmlDataSet 。可以在以后将它重新装载到数据库中。
  • 可以容易地从任何行中获取列的内容,无需进行迭代。
<DIV class=date>收录时间:2011-08-11 21:08:37</DIV>