如何使用Ginkgo和Gomega匹配私有结构类型?

时间:2019-04-15 22:11:18

标签: go ginkgo gomega

假设我在GoLang中有一个名为GetQueue的函数,并且取决于配置,它将返回不同类型的队列实现。

func GetQueue(config string) *service.Queue {
switch(config):
case "A":
  return &QueueA.NewQueue{...}
case "B":
  return &QueueB.NewQueue{...}
...
}

service.Queue是一个接口。 QueueAQueueB都是该接口的实现。 QueueA.go看起来像:

type service struct {
...
}

function NewService() *service.Queue {
  return &service{}
}

我想为GetQueue函数(在service包之外定义)编写单元测试,并且我想验证返回的类型是否符合预期。但是,QueueA.seviceQueueB.service都是私有结构。那么如何确认返回的类型是预期的类型?

0 个答案:

没有答案