在我的Java-Mavan-Spring项目中,我正在使用cassandra unit来测试我的DAO。
我在类路径中创建了2个文件:
这是我的测试类:
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>
当我进行测试时,我this log获得了this error。
我已经尝试了许多不同的方法来克服这个问题而没有成功。 有什么想法吗?
答案 0 :(得分:1)
这有点令人伤心,但是将cassandra-unit版本从1.2.0.1更改为1.0.3.1,它就像一个魅力。 我通过将this project导入我的工作区来解决问题。导入的项目运行得很好,并且在编译之后发现版本之间的差异是造成问题的原因。
此外,后来的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)。
我希望这可以节省一些时间给某人。这肯定花了我一段时间。