ian*_*naz 5 unit-testing go

interface

到目前为止,我想出的解决方案是将这些包与接口的实现包装在一起,但这似乎工作量太大。

我举一个例子。我的功能可能看起来像这样

func AnyFunction() error {
    sess := session.Get("blabla")
    // logic in here...
}
structsessionSessionInterface

例如:

type SessionInterface interface {
    Get(s string) Session
}

type mySessionImpl struct {}
func (me *mySessionImpl) Get(s string) Session {
  return session.Get(s)
}

现在,为了进行测试,我可以模拟SessionInterface并将其注入我的代码中