2015-12-11 29 views
6

Birim test desteği ile Cassandra için bir golang istemcisi arıyorum. BenCassandra için Golang istemcisi

  1. Goosie (değil tutulan bir daha)
  2. gocql
  3. gocassa (hiçbir test desteği ile herhangi bir istemci kütüphanesi benim için işe yaramaz) (yukarıdaki gibi aynı sorunu)
gibi bazı kütüphaneler bulduk

Birisi bana aradığım şeyi içeren herhangi bir istemci lib'ünü önerebilir mi?

+0

Desteği test ederek ne demek istiyorsunuz? gocql, bugüne kadar en çok olgunlaşan ve yoğun bir şekilde katkıda bulundu. – PieOhPah

+0

Biz gocql kullanıyoruz ve birim testi yapabiliriz. Temelde gocql istemci koduna bir proxy olarak davranan kendi arayüzümüzü tanımlamamızı gerektirir, ancak uygulamayı bir saplama veya alayla değiştirmemize izin verir. – sberry

+0

@sberry cassandra ile etkileşim için gocql kullandığımız * gocql.Session bir arayüz değildir. Sahte uygulamayı nasıl sağlıyorsunuz? Bana sahip olduğun herhangi bir koda işaret edebilir misin? – tazo

cevap

2

Bu ne yorumlarda atıfta bulundu çok basit bir örnektir:

uygulama kodunda
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 
} 

, CassWrapper bir örneği kullanılacaktır ve bazı sahte veya saplama bir örneğini test CassAPI'nin aynı arayüzüne bağlı olan kullanılır.

+0

Ama veritabanının durumu nasıl kullanılır? Örneğin, Cassandra’daki bir okunmanın başarısız olması gerekiyorsa, sahte kod başarısızlığı nasıl bildirebilir? –