我有一个名为
NewSchema(ctx contractapi.TransactionContextInterface, groupName string, schemaName string, schemaText string)
的函数,它调用另一个名为 SubmittingIdentityHasOU(ctx, 'random_string')
的函数。我正在为 NewSchema 函数编写单元测试。
我一直在尝试模拟
SubmittingIdentityHasOU
的响应,以便它根据我的测试情况返回 true 或 false。然而,似乎每次我尝试时,测试都不会调用该函数的mock,而是调用主代码中的实际实现,这显然会带来很多麻烦。
我想了解如何模拟嵌入函数的行为,以便您可以轻松测试 NewSchema 函数的案例。
您可以创建一个像 SubmittingIdentityHasOUInterface 这样的接口。 您将该接口添加为附加参数。
然后在测试中,您发送模拟实现。 就是这样。
详细解释如下:https://www.go-on-aws.com/testing-go/interface/interface-mock/