doubo1871 2019-02-15 20:21
浏览 50

如何模拟另一个包中的函数?

Package A

func Validate(){
    db.CheckPresent() //how to mock this function which is in another package
    return nil
}

I am writing test case in Golang to test a function which calls CheckPresent() function from another package. How to mock CheckPresent() fuction?

  • 写回答

1条回答 默认 最新

  • dongtan5811 2019-02-15 20:41
    关注
    type Checker interface {
        CheckPresent()
    }
    
    // mock
    type checkerMock struct {
    }
    
    func (m checkerMock) CheckPresent() {
    }
    
    // production code
    type handler struct {
        db Checker
    }
    
    func New(db Checker) *handler {
        return &handler{
            db: db,
        }
    }
    
    func (h handler) Validate() {
        h.db.CheckPresent() 
        return nil
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序
  • ¥15 多址通信方式的抗噪声性能和系统容量对比
  • ¥15 winform的chart曲线生成时有凸起
  • ¥15 msix packaging tool打包问题
  • ¥15 finalshell节点的搭建代码和那个端口代码教程
  • ¥15 Centos / PETSc / PETGEM
  • ¥15 centos7.9 IPv6端口telnet和端口监控问题