GoLang Модульное тестирование, для Mock Framework, как я могу смоделировать возвращаемое значение ошибки при вызове RedisClient.Set ("Key", "Value", 0) .Err () - PullRequest
0 голосов
/ 08 апреля 2020

GoLang Модульное тестирование, для Mock Framework, точно так же, как Stretchr Testify и т. Д. Это просто говорит о том, как я могу смоделировать функцию интерфейса, но для redis. Клиент это struct, а не интерфейс, как я могу высмеивать возвращаемое методом значение для redis.Client struct. Так же, как я хочу вернуть значение ошибки, когда я вызываю redisClient.Set() method

    // import "github.com/go-redis/redis/v7"
    client := redis.NewClient(&redis.Options{
        Addr:     "localhost:6379",
        Password: "", // no password set
        DB:       0,  // use default DB
    })

    err := client.Set("key", "value", 0).Err()

   // just like the fake code
   mockClient = newMockRedisClient()
   mockClient.on("Set").return(error)
   err := mockClient.Set("key", "value, 0).Err

...