为了账号安全,请及时绑定邮箱和手机立即绑定

如何模拟单元测试的外部方法

如何模拟单元测试的外部方法

Go
慕森卡 2022-07-18 10:01:23
我想模拟在 Go 中进行测试的方法。我无法弄清楚模拟通常遵循的任何步骤/模式。考虑下面的代码并帮助我理解。包 fetchClient客户端.gotype Client struct {    URL     string}type ClientData struct {    ID      string       }func (p *Client) GetURL(ID string) (*ClientData) {    data := &ClientData{}    //Some work to store client information into data struct and return it     return data}包 fetchClientDataFetchData.go// Function GetData that accepts a client ID as argument and returns client URLfunc GetData(ID string) (*fetchClient.Client.URL) {    param := (*Client).GetURL(ID)     return param}FetchData_test.go //想知道如何按照下面的问题进行模拟。问题:如何在 FetchData_test.go 文件中模拟一个虚假的 GetURL 函数,使其不调用 FetchData.go 文件中的实际 GetURL 函数,而是模拟它。
查看完整描述

1 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

可能有两种方法可以解决您的问题。我只能根据您发布的代码非常少做一些假设。但是您要么必须创建通过 http 测试实现函数的模拟库,要么可以将函数调用迁移到要使用/消费的接口中,以便您可以在 GoMock 中使用 MockGen 功能。后者可能会更干净,更接近 Go Best Practices。

查看他们的文档。 https://github.com/golang/mock


查看完整回答
反对 回复 2022-07-18
  • 1 回答
  • 0 关注
  • 103 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信