私の 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>
この問題を解決するために、何時間もさまざまな方法を試しましたが、成功しませんでした。何か案は?