-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Open
Description
I have a function with this signature:
func (api *Client) PostMessage(channelID string, options ...MsgOption) (string, string, error)`
Where MsgOption
is a function-type:
type MsgOption func(*sendConfig) error
The mock:
func (mock *slackAPIMock) PostMessage(channelID string, options ...slack.MsgOption) (string, string, error) {
args := mock.Called(channelID, options)
return args.String(0), args.String(1), args.Error(2)
}
Turning it On
:
options := []slack.MsgOption{
slack.MsgOptionAttachments(expectedAttachment),
slack.MsgOptionAsUser(true),
}
mock.On(
"PostMessage",
mock.AnythingOfTypeArgument("string"),
options,
).Return(mockedChannel, timestamp, nil)
And the assert:
mock.AssertCalled(
t,
"PostMessage",
mockedChannel,
slack.MsgOptionAttachments(expectedAttachment),
slack.MsgOptionAsUser(true),
)
Result:
Diff: 1: FAIL: ([]slack.MsgOption=[0x1376370 0x1376180]) != ([]slack.MsgOption=[0x1376370 0x1376180])
They look the same to me. What am I missing here? 🤔
Full output
panic:
mock: Unexpected Method Call
-----------------------------
PostMessage(string,[]slack.MsgOption)
0: "some_channel"
1: []slack.MsgOption{(slack.MsgOption)(0x1376370), (slack.MsgOption)(0x1376180)}
The closest call I have is:
PostMessage(mock.AnythingOfTypeArgument,[]slack.MsgOption)
0: "string"
1: []slack.MsgOption{(slack.MsgOption)(0x1376370), (slack.MsgOption)(0x1376180)}
Diff: 1: FAIL: ([]slack.MsgOption=[0x1376370 0x1376180]) != ([]slack.MsgOption=[0x1376370 0x1376180]) [recovered]
panic:
mock: Unexpected Method Call
-----------------------------
PostMessage(string,[]slack.MsgOption)
0: "some_channel"
1: []slack.MsgOption{(slack.MsgOption)(0x1376370), (slack.MsgOption)(0x1376180)}
The closest call I have is:
PostMessage(mock.AnythingOfTypeArgument,[]slack.MsgOption)
0: "string"
1: []slack.MsgOption{(slack.MsgOption)(0x1376370), (slack.MsgOption)(0x1376180)}
Diff: 1: FAIL: ([]slack.MsgOption=[0x1376370 0x1376180]) != ([]slack.MsgOption=[0x1376370 0x1376180])
Metadata
Metadata
Assignees
Labels
No labels