我需要模拟 golang 中单元测试的方法

问题描述 投票:0回答:1

我有一个名为

NewSchema(ctx contractapi.TransactionContextInterface, groupName string, schemaName string, schemaText string)
的函数,它调用另一个名为
SubmittingIdentityHasOU(ctx, 'random_string')
的函数。我正在为 NewSchema 函数编写单元测试。

我一直在尝试模拟

SubmittingIdentityHasOU
的响应,以便它根据我的测试情况返回 true 或 false。然而,似乎每次我尝试时,测试都不会调用该函数的mock,而是调用主代码中的实际实现,这显然会带来很多麻烦。

我想了解如何模拟嵌入函数的行为,以便您可以轻松测试 NewSchema 函数的案例。

unit-testing go mocking
1个回答
0
投票

您可以创建一个像 SubmittingIdentityHasOUInterface 这样的接口。 您将该接口添加为附加参数。

然后在测试中,您发送模拟实现。 就是这样。

详细解释如下:https://www.go-on-aws.com/testing-go/interface/interface-mock/

© www.soinside.com 2019 - 2024. All rights reserved.