我目前想知道我有什么选择来配置Cassandra进行单元测试。
目前我只使用SSD驱动器并以不同方式设置Cassandra目录并开始测试加载测试场景。它已经慢了但我重用了服务器并修复了场景(恢复而不是删除并重新开始)但除此之外我还能做什么?
我还在考虑是否可以创建一个ram驱动器并将其安装在那些测试中。
哪些选项与测试结合使用而不引入使验收测试毫无价值的功能差异?
是否存在内存替换,如用一个替换MySQL / PostgreSQL和H2进行单元测试?
答案 0 :(得分:2)
我会避免使用真正的Cassandra实例进行单元测试,它会使测试变得脆弱,并且意味着它们将无法在任何地方运行。有一些选项可以对你的dao进行单元测试,而不需要真正的Cassandra。
一个选项是Cassandra Unit。这可以通过启动嵌入式Cassandra来连接,你可以创建键空间/表并插入数据来填充它就像真正的Cassandra一样。
另一个选项是Scassandra。这启动了一个存根的Cassandra,需要准备好返回什么。 Scassandra的优点在于您可以测试所有错误情况,例如超时,NoHostAvailable等。