我有这些结构体:
type Event interface {
Accept(EventVisitor)
}
type Like struct {
}
func (l *Like) Accept(visitor EventVisitor) {
visitor.visitLike(l)
}
如何测试event
是否为Like
示例?
func TestEventCreation(t *testing.T) {
event, err := New(0)
if err != nil {
t.Error(err)
}
if reflect.TypeOf(event) != Like {
t.Error("Assertion error")
}
}
我得到:
类型Like不是表达式事件事件
5条答案
按热度按时间zzzyeukh1#
您可以只执行一个类型Assert,看看它是否失败:
j8yoct9x2#
TypeOf()
方法返回一个Type
类型的对象,您可以使用Name()
方法以字符串的形式获取该类型的名称。我还没有测试过这个,但类似这样的东西可能会起作用:
2g32fytz3#
回答晚了,但这个工作正常
Playground(在线运行):https://play.golang.org/p/tcQqdzUGMlL
yrefmtwq4#
最接近的翻译:
是:
unftdfkk5#
可能需要如下定义Func:
功能(喜欢)接受(访问者事件访问者)