如何接收 testify 框架“assert”方法中的方法返回的多个值作为参数?

inf*_*ner 2 go testify

下面是一个返回多个值的示例代码。

func (c Calc) CreateTenantHandler(item *models.TenantInput) (*models.Response, *models.ErrorDetails) {

        ...
        ...
        ...

        return &models.Response{ResponseStatus: 201, TenantOutput: tenantoutput,}, nil

    }
Run Code Online (Sandbox Code Playgroud)

在测试文件中,我尝试做以下事情。

assert.Equal(t,[nil,nil],testObject.CreateTenantHandler(nil) );
Run Code Online (Sandbox Code Playgroud)

我还检查了其他答案,但找不到我需要的东西。

Fli*_*mzy 5

你不知道。它与 testify 无关——这就是 Go 的工作原理。将多个变量设置为返回值,然后单独断言每个变量:

x, y := testObject.CreateTenantHandler(nil)
assertEqual(t, x, expectedX)
assertEqual(t, y, expectedY)
Run Code Online (Sandbox Code Playgroud)