如何断言模拟方法调用是按顺序发生的?

时间:2016-06-21 09:13:56

标签: unit-testing go mocking testify

AssertExpectations的文档说“AssertExpectations断言用On和Return指定的所有内容实际上都按预期调用。调用可能以任何顺序发生。”如果我想断言某些调用按顺序发生怎么办?

为此,gomock有*Call.After(*Call),但在作证中我看不到任何类似内容。有办法,还是我应该使用gomock?

1 个答案:

答案 0 :(得分:1)

Testify 目前不支持此功能,但在此问题 https://github.com/stretchr/testify/issues/741 中对其进行了跟踪。

Testify 的 mock.Mock 对象通过 Calls 属性 (https://pkg.go.dev/github.com/stretchr/testify/mock#Mock) 提供对有序调用的访问,您可以使用它自己构建此功能。