使用redigomock

时间:2016-03-31 17:26:12

标签: go mocking redigo

在单元测试中,我如何设置redigomock以测试包含多个命令的MULTI呼叫?

1 个答案:

答案 0 :(得分:1)

这没有真正的伎俩。我在redigomock测试中发现了一个例子。然后发现我有一个错字,导致一个永远不会返回的错误(可能是一个错误)。供参考,

https://github.com/rafaeljusto/redigomock/blob/master/redigomock_test.go#L501(TestDoFlushesQueue)

显示使用MULTI的测试。如果你正在使用go-check,那就像

connection := redigomock.NewConn()
cmd1 := connection.Command("MULTI")
cmd2 := connection.Command("SET", "person-123", 123456)
cmd3 := connection.Command("EXPIRE", "person-123", 1000)
cmd4 := connection.Command("EXEC").Expect([]interface{}{"OK", "OK"})
c.Check(connection.Stats(cmd1), Equals, 1)
c.Check(connection.Stats(cmd2), Equals, 1)
c.Check(connection.Stats(cmd3), Equals, 1)
c.Check(connection.Stats(cmd4), Equals, 1)

(如果有人好奇,这是PR,以便拼写错误导致可检测到的错误https://github.com/rafaeljusto/redigomock/pull/21

相关问题