Hyperledger Fabric 2.3 单元测试

问题描述

我是超级账本结构的新手,我正在尝试为我的链代码编写单元测试。我使用 2.3 版和 contract.api 来编写我的链码。现在我尝试对此进行单元测试,但我发现的所有资源都已过时并使用已弃用的 shimtest 或已弃用的 shim 版本。

单元测试链码的最新正确方法是什么?有我可以遵循的示例或教程吗?我确实查看了超级账本结构示例。它们指的是 ChaincodeStubInterface,但没有进一步解释如何使用它。我还注意到许多(最近的)示例都有一个包含生成文件的模拟文件夹,它们用于测试。但是这些是如何生成的,我不知道。

非常感谢您的帮助!

解决方法

单元测试链码应该只是遵循为该语言编写单元测试的标准实践的一个例子(不可否认,事情永远不会保持不变,所以最好寻找有关您的语言的单元测试的教程,看看其他人是怎么做的)。

如果您查看结构代码库,您会看到当前用于帮助开发结构的工具在这里 https://github.com/hyperledger/fabric/blob/main/tools/tools.go

例如,fabric 使用 mockery,它是一个模拟生成器和伪造者,所以也许可以看看这些工具。