return int64(1), nil }) err := commander.SetAdd("my key", elements...) Expect(err).To(BeNil()) Expect(saddCalled).To(BeTrue()) }) }) Describe("#GetMembersOfSet", func() { It("calls SMEMBERS on the redis connection and returns a list of strings", func() { var getMembersCalled bool fakeConnection.RespondToDo(func(command string, args ...interface{}) (interface{}, error) { getMembersCalled = true Expect(command).To(Equal("SMEMBERS")) Expect(args[0]).To(HaveLen(1)) Expect(args[0].([]interface{})[0]).To(Equal("my key")) return []interface{}{[]byte("[one two]")}, nil }) val, err := commander.GetMembersOfSet("my key") Expect(err).To(BeNil()) Expect(getMembersCalled).To(BeTrue()) Expect(val).To(Equal([]string{"one", "two"})) }) }) })