agiledragon / agiledragon/gomonkey
请问如何实现一个通用的Mock函数?
オープン
- 主要言語
- Go
- スター
- 2.3k
- フォーク
- 192
- 平均マージ
- 1日 6時間
- マージ済み PR(30日)
- 1
説明
在做单元测试的情况下, 会有一种需求是, 确定调用了某个函数,或者某个接口, 其它的mock框架基本都提供这种能力, gomonkey也可以, 但是需要一个一个的模拟, 有没有可能通过1.18的泛型, 写一个类似这样的Func结构
type Func[T any] struct {
callCount int
}
然后有这样的方法 MockFunc[T any](ps *Patches, f T) *Func[T]
那么对于只需要知道方法有没有调用的情况下, 就可以直接用这个通用的Mock结构, 甚至更进一步, 在Func中还可以存储调用的入参, 在单测中就可以精确的知道入参了.
我尝试着实现了一下我的想法, 但是由于我对反射理解有些欠缺, 所以没能完成这个, 你觉得这个想法能实现吗?
如果可以,能否做为feature加到gomonkey中?
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
評価
この issue はまだ評価されていません。