英文:
Golang client for Cassandra
问题
我正在寻找一个支持单元测试的Golang客户端,用于连接Cassandra数据库。我已经找到了一些库,如:
- Goosie(不再维护)
- gocql(没有测试支持的客户端库对我来说没有用处)
- gocassa(与上述问题相同)
有人可以推荐一个符合我需求的客户端库吗?
英文:
I am looking for a golang client for Cassandra with unit testing support. I have found some libraries like
- Goosie (not maintained any more)
- gocql (any client library with no testing support is useless for me)
- gocassa (same issue as above)
Can someone suggest me any client lib that has what I am looking for ?
答案1
得分: 2
这是我在评论中提到的一个非常简单的示例:
type CassAPI interface {
GetFoo(rowKey string) (someType, error)
}
type CassWrapper struct {
cass *gocql.Session
}
func (cw *CassWrapper) GetFoo(rowKey string) (someType, error) {
// 使用 cw.cass 进行操作
return someType, nil
}
在应用程序代码中,将使用 CassWrapper 的一个实例,在测试中将使用某个模拟或存根的实例,该实例遵循 CassAPI 的相同接口。
英文:
This is a very simple example of what I was referring to in the comments:
type CassAPI interface {
GetFoo(rowKey string) (someType, error)
}
type CassWrapper struct {
cass *gocql.Session
}
func (cw *CassWrapper) GetFoo(rowKey string) (someType, error) {
// do things with cw.cass
return someType
}
In the application code, an instance of CassWrapper would be used, and in tests an instance of some mock or stub would be used which adhered to the same interface of CassAPI.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论