我是 golang 的新手并Gomock
用于测试。我已经为接口生成了模拟foo
,但在我的代码中有一段使用的逻辑foo.(type)
。
我可以知道是否有办法模拟这个并返回我选择的类型?如果没有,那么做这件事的好方法是什么?谢谢!
例如。代码片段:
// assume structs A and B implements the interface `foo`
type foo interface {...}
type A struct {...}
type B struct {...}
func DoSomething(i foo) {
// Is there a way to mock this type assertion for i here?
switch currentType := i.(type) {
case *A:
...
case *B:
...
default:
...
}
}