怎么用MockStub调试fabric 2.4的contractapi的go链码?
时间: 2023-05-28 13:02:37 浏览: 97
Fabric开发进阶篇一 链码开发与调试.docx
MockStub是一种模拟stub,可以用于在本地环境中模拟链码调用,并对其进行调试。以下是使用MockStub调试fabric 2.4的contractapi的go链码的步骤:
1. 创建一个Go语言的链码,使用contractapi框架。
2. 在链码目录中创建一个名为“test”的Go文件,其中包含以下内容:
```
import (
"testing"
"github.com/hyperledger/fabric-chaincode-go/pkg/mocks"
"github.com/stretchr/testify/assert"
)
func TestSampleChaincode_Invoke(t *testing.T) {
cc := new(SampleChaincode)
mockStub := mocks.NewMockStub("SampleChaincode", cc)
args := [][]byte{
[]byte("testFunction"),
[]byte("testArgument"),
}
response := mockStub.MockInvoke("tx1", args)
assert.Equal(t, response.Status, int32(200))
}
```
3. 运行测试:
```
go test ./...
```
4. 在测试运行时,链码将在mockStub中被调用,您可以使用相同的方式在本地运行它。
阅读全文