亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Golang:模擬具有相同方法名稱的AWS服務

Golang:模擬具有相同方法名稱的AWS服務

Go
神不在的星期二 2023-08-07 14:44:42
我正在使用兩個 AWS 服務,Glue 和 DynamoDB,并且這兩個服務具有相同的方法名稱,CreateTable因此在模擬這些服務時,我收到CreateTable is ambiguous錯誤。膠水:CreateTable https://docs.aws.amazon.com/sdk-for-go/api/service/glue/#Glue.CreateTableDynamoDB:CreateTable https://docs.aws.amazon.com/sdk-for-go/api/service/dynamodb/#DynamoDB.CreateTable有什么辦法可以解決這個問題嗎?代碼:type UpdateWorkflow struct {    glueIface glueiface.GlueAPI    dbIface   dynamodbiface.DynamoDBAPI    tableName string}func NewUpdateWorkflow(tableName string) *UpdateWorkflow {    sess := sessions.NewSession()    return &UpdateWorkflow{        dbIface:   dynamodb.New(sess),        glueIface: glue.New(sess),        tableName: tableName,    }}單元測試:// MockUpdateWorkflow is a mock implementation of gluetestutils and dynamodb servicetype MockUpdateWorkflow struct {    glueiface.GlueAPI    dynamodbiface.DynamoDBAPI    mock.Mock}func setup() (*UpdateWorkflow, *MockUpdateWorkflow) {    mockClient := new(MockUpdateWorkflow)    mockServices := &UpdateWorkflow{        glueIface: mockClient,        dbIface:   mockClient,        tableName: mockTableName,    }    return mockServices, mockClient}
查看完整描述

1 回答

?
慕標琳琳

TA貢獻1830條經驗 獲得超9個贊

如果函數名稱沖突,則無法嵌入接口,必須使用命名字段:


type MockUpdateWorkflow struct {

    g glueiface.GlueAPI

    d dynamodbiface.DynamoDBAPI

    mock.Mock

}


func setup() (*UpdateWorkflow, *MockUpdateWorkflow) {

    mockClient := new(MockUpdateWorkflow)

    mockServices := &UpdateWorkflow{

        glueIface: mockClient.g,

        dbIface:   mockClient.d,

        tableName: mockTableName,

    }

    return mockServices, mockClient

}


查看完整回答
反對 回復 2023-08-07
  • 1 回答
  • 0 關注
  • 145 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號