在我的 Java-Mavan-Spring 项目中,我使用cassandra 单元来尝试测试我的 DAO。
我在类路径中创建了 2 个文件:
- 描述我的初始数据的简单 XML
- 一个 cassandra 配置文件 (cassandra.yaml)
这是我的测试课:
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 文件:
<?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>
我已经尝试了几个小时许多不同的方法来克服这个问题,但都没有成功。有任何想法吗?