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  ```