2
ユニットテストでは、いくつかのコマンドを含むマルチコールをテストするためにredigomockを設定するにはどうすればよいですか?redigomockでトランザクション(MULTI)コマンドをテストします
ユニットテストでは、いくつかのコマンドを含むマルチコールをテストするためにredigomockを設定するにはどうすればよいですか?redigomockでトランザクション(MULTI)コマンドをテストします
これに実際のトリックはありません。私はredigomockテストの例を見つけました&私は誤って返された(おそらくバグ)エラーを引き起こしたタイプミスが見つかりました。参考のために、
https://github.com/rafaeljusto/redigomock/blob/master/redigomock_test.go#L501(TestDoFlushesQueue)
はMULTIを使用する試験を示します。あなたはゴーチェックを使用している場合、それは
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です)