github.com/etecs-ru/gnomock@v0.13.2/preset/memcached/README.md (about) 1 # Gnomock Memcached 2 3 Gnomock Memcached is a [Gnomock](https://github.com/orlangure/gnomock) preset for running tests against a real Memcached 4 container, without mocks. 5 6 ```go 7 package memcached_test 8 9 import ( 10 "fmt" 11 "testing" 12 13 memcachedclient "github.com/bradfitz/gomemcache/memcache" 14 "github.com/orlangure/gnomock" 15 "github.com/orlangure/gnomock/preset/memcached" 16 ) 17 18 func ExamplePreset() { 19 vs := make(map[string][]byte) 20 21 // String 22 vs["a"] = []byte("foo") 23 // Number 24 vsb := make([]byte, 4) 25 binary.LittleEndian.PutUint32(vsb, 42) 26 vs["b"] = vsb 27 28 p := memcached.Preset(memcached.WithValues(vs)) 29 container, _ := gnomock.Start(p) 30 31 defer func() { _ = gnomock.Stop(container) }() 32 33 addr := container.DefaultAddress() 34 client := memcachedclient.New(addr) 35 36 itemA, _ := client.Get("a") 37 fmt.Println(string(itemA.Value)) 38 39 itemB, _ := client.Get("b") 40 fmt.Println(binary.LittleEndian.Uint32(itemB.Value)) 41 42 // Output: 43 // foo 44 // 42 45 } 46 ```